Hello, linux-pci-owner@xxxxxxxxxxxxxxx wrote on Thursday, February 17, 2011 3:44 PM: > pcie_set_readrq modifies read request size in EP's capability register. > Now considering a situation where this EP is to be connected to an RC > whose implemented read buffer size is less than what this > function programs. > [As per pcie specification this buffer size can be 128-4096 > bytes. So an RC can > have lesser buffer size] > In this scenario there is no way that RC can revert this as > per its capability. > So , read capability should always be either programmed by enumeration > during bootloader or by using postinit hook of base driver. I > mean, it should > be programmed by RC's driver not by EP's driver. I am also working on a RC device which supports max outbound read request of 256 bytes and have to modify this (sil) driver to set read request size to 256 bytes. This patch would probably help me. But I have one question: aren't the completors supposed to respond with multiple completions if the read request exceeds their buffer limit? Thanks. Hemant > Signed-off-by: Pratyush Anand <pratyush.anand@xxxxxx> --- > drivers/ata/sata_sil24.c | 5 ----- > 1 files changed, 0 insertions(+), 5 deletions(-) > > diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c index > af41c6f..bc45e01 100644 --- a/drivers/ata/sata_sil24.c > +++ b/drivers/ata/sata_sil24.c > @@ -1343,11 +1343,6 @@ static int sil24_init_one(struct > pci_dev *pdev, const struct pci_device_id *ent) > } > } > > - /* Set max read request size to 4096. This slightly increases > - * write throughput for pci-e variants. > - */ > - pcie_set_readrq(pdev, 4096); > - > sil24_init_controller(host); > > if (sata_sil24_msi && !pci_enable_msi(pdev)) { > -- > 1.6.0.2-- 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