Re: [PATCH v3 00/32] provide interfaces to access PCIe capabilities registers

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

 



On Wed, Aug 1, 2012 at 8:54 AM, Jiang Liu <liuj97@xxxxxxxxx> wrote:
> From: Jiang Liu <liuj97@xxxxxxxxx>
>
> As suggested by Bjorn Helgaas and Don Dutile in threads
> http://www.spinics.net/lists/linux-pci/msg15663.html, we could improve access
> to PCIe capabilities register in to way:
> 1) cache content of PCIe Capabilities Register into struct pce_dev to avoid
>    repeatedly reading this register because it's read only.
> 2) provide access functions for PCIe Capabilities registers to hide differences
>    among PCIe base specifications, so the caller don't need to handle those
>    differences.
>
> This patch set applies to
> git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git pci-next

Would you mind rebasing this to v3.6-rc1?  I think you posted this
when my branch was still 3.5-based, and there are some upstream
changes that cause minor conflicts here.

You currently have:

    int pci_pcie_capability_change_word(struct pci_dev *dev, int pos,
u16 set_bits, u16 clear_bits)

I think this is a bit awkward because the function name doesn't
suggest *how* the word will be changed, and the clearing happens
before the setting (opposite the parameter order).  Something like:

    int pci_pcie_capability_mask_and_set_word(..., u16 mask, u16 set) or
    int pci_pcie_capability_clear_and_set_word(..., u16 clear, u16 set)

would be more obvious.  If you use "mask_and_set", I think the
function should do "(val & mask) | set" with the complement being at
the call site.  If you use "clear_and_set", I think it's OK to do
"(val & ~mask) | set" as in your current patch.

I know I suggested the "pci_pcie_capability_*" names, but they're
getting a bit unwieldy, especially if we do "mask_and_set" or similar.
 There are already several "pcie_*" functions, so maybe we should
drop the leading "pci_" from these and just have:

    pcie_capability_read_word
    pcie_capability_write_word
    pcie_capability_mask_and_set_word

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


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux