Re: [PATCH v3 1/4] libata: add R-Car SATA driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/26/2013 03:23 AM, Tejun Heo wrote:
On Sun, May 26, 2013 at 08:20:24AM +0900, Tejun Heo wrote:
Hey,

On Sun, May 26, 2013 at 03:16:53AM +0400, Sergei Shtylyov wrote:
   This value should have been put into the 'dma_boundary' field of the
'struct scsi_host_template', IIUC. Tejun, if I do it, do I need
this check at all?
    You haven't replied, so I went and searched an answer myself. Indeed,
it's enough to specify the right 'dma_boundary' and stop bothering about it.
Expect two patches to the driver. I think the correct branch for
them will be
'for-3.11'.
I was just about to reply.  Yes, it should be enough.  Both block
layer and the dma machniery honors the DMA boundary and segment size,
which are configured from __scsi_alloc_queue().
But I'm a bit confused about ata_bmdma_fill_sg().  ATA_BMDMA_SHT sets
the DMA boundary to 0xffff, so I have no idea why it's explicitly
checking the DMA boundary in the function again.  What am I missing?

   Because with SFF-8038i  (BMIDE) controllers transfer can't cross
64KiB address boundaries. This function has to break up those S/G
entries that do cross them. I.e. the PRD length is actually additionally
limited by an offset of its start within 64KiB memory segment.
Does this make sense? Or does the block layer already care about this?
Hm, I'm not confident now, should revisit this after some sleep.

WBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux