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

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

 



Hello.

On 05/26/2013 04:23 AM, Tejun Heo wrote:


    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.
Yeah, that's exactly where I'm confused.  ATA_DMA_BOUNDARY is 64k
which becomes both queue_segment_boundary and dma seg_boundary.
AFAICS, both __blk_segment_map_sg() and dma mapping won't merge across
seg_boundary and as each bvec is a single page at most, we shouldn't
need to worry about getting sg's which cross 64k boundaries in bmdma
controllers.  Hmmmmm...... I gotta be missing something.  What am I
missing here?

    Probably nothing... maybe Jeff just copied that from ATADRVR
(which was his inspiration IIRC).
   BTW, I've just done some experimentation with my R-Car target
and ATA_DEBUG/ATA_VERBOSE_DEBUG #define'd and it turned out
that block layer didn't merge any segments at all... :-/

Thanks.


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