From: Justin Chevrier <theburner1@yahoo.com>
To: Ryan Harper <ryanh@us.ibm.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] LSI53C895A: Do not update current_dma_len with dbc in TIA mode
Date: Wed, 26 Nov 2008 10:08:29 -0800 (PST) [thread overview]
Message-ID: <670324.47899.qm@web51105.mail.re2.yahoo.com> (raw)
In-Reply-To: <20081126170709.GK31893@us.ibm.com>
> Even in Table indirect access, we update dbc after fetching
> the transfer
> count (TC) from the table. The tech manual is unclear
> about whether or
> not dbc is updated:
>
> "For a MOVE instruction, the 24-bit byte count is
> fetched
> from system memory. Then the 32-bit physical address is
> brought into the LSI53C895A. Execution of the move
> begins at this point" - LSI53C895A Tech manual,
> page 230.
>
> However, I think in practice, it would have to do so.
>
It is true that we update the dbc with the length acquired from the table. Unfortunately it seems the length acquired from the table is incorrect. Here are snippets of log from the Debian Arm target with current head.
We get a command complete with data ready, length 69632. current_dma_len is updated with this value:
lsi_scsi: MSG IN 0x80
lsi_scsi: MSG IN 0x20
lsi_scsi: MSG IN 0x07
lsi_scsi: Data ready tag=0x10007 len=69632
Then when we issue the TIA block move command the length at the table entry referenced is wrong (at 4096). The DBC gets updated with this new incorrect length, which then overwrites dma_current_length and we only transfer 4096 bytes.
lsi_scsi: SCRIPTS dsp=50000780 opcode 11000000 arg 000002e8
lsi_scsi: DMA addr=0x0000c000 len=4096
lsi_scsi: Command complete sense=0
With the patch sent today and how it behaved before my previous patch the code continues to use an unaltered current_dma_len (which stays at 69632).
It seems that the DSA + offset is pointing to the wrong table entry. I'm looking into this now.
I just wanted to get this patch out to fix breakages introduced by my original patch.
Justin
next prev parent reply other threads:[~2008-11-26 18:08 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-26 15:32 [Qemu-devel] [PATCH] LSI53C895A: Do not update current_dma_len with dbc in TIA mode Justin Chevrier
2008-11-26 17:07 ` Ryan Harper
2008-11-26 18:08 ` Justin Chevrier [this message]
2008-11-26 22:14 ` Ryan Harper
2008-11-26 22:37 ` Justin Chevrier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=670324.47899.qm@web51105.mail.re2.yahoo.com \
--to=theburner1@yahoo.com \
--cc=qemu-devel@nongnu.org \
--cc=ryanh@us.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.