Re: [PATCH 3/4] libata: add per-dev pio/mwdma/udma_mask

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

 



On Mon, Mar 13, 2006 at 04:52:28AM -0500, Jeff Garzik wrote:
> Tejun Heo wrote:
> >On Mon, Mar 13, 2006 at 03:29:24AM -0500, Jeff Garzik wrote:
> >
> >>Tejun Heo wrote:
> >>
> >>>Add per-dev pio/mwdma/udma_mask.  All transfer mode limits used to be
> >>>applied to ap->*_mask which unnecessarily restricted other devices
> >>>sharing the port.  This change will also benefit later EH speed down
> >>>and hotplug.
> >>>
> >>>Signed-off-by: Tejun Heo <htejun@xxxxxxxxx>
> >>
> >>I don't see much value in the separation.  Rather than 3 separate masks, 
> >>it seems like this patch would be simplified if you simply added 
> >>dev->xfer_mask.
> >>
> >
> >
> >The thing is that ap->*_mask's are separated the same way and all
> >masking constants are defined as such.  e.g.
> >
> >	ap->udma_mask &= ATA_UDMA5;
> >or
> >	ap->udma_mask &= ATA_UDMA_MASK_40C;
> >
> >Making dev->*_mask's the same enables share those constants and code
> >convention.  So, things to consider here are...
> >
> >1. Port xfer masks are defined as three separate masks.
> >
> >2. All the constants are defined according to that.
> >
> >3. Three separate masks are easier to deal with for LLDD's.
> 
> Separate masks is better for the LLDD interface, but the packed version 
> seems superior for internal libata use.

Yeah, dev->*_mask's will be used by LLDD's.  Actually, in patch #4 of
this series, sata_sil's ->dev_config() does exactly that.  Also, mode
mask filtering can be done by diddling dev->*_mask's.

> No reason why ATA_UDMA_MASK_40C can't simply operate on a packed 
> xfer_mask variable, for example.

Because it's used to filter ap->*_mask and to allow LLDD's use the
same constants on dev->*_mask's.

Do you think LLDD's shouldn't access dev->*_mask's?

-- 
tejun
-
: 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