[PATCH] PCI: rockchip: set RC's RCB to 128 bytes
Bjorn Helgaas
helgaas at kernel.org
Mon Apr 3 14:12:03 PDT 2017
On Mon, Mar 20, 2017 at 05:39:40PM +0800, Shawn Lin wrote:
> Read Completion Boundary could be 64 bytes or 128 bytes
> for rockchip RC. The reset value of RCB is zero which means
> it doesn't support RCB to be 128 bytes, however it does support
> that. When setting the RCB to 128 bytes, we see some significant
> improvment for testing NVMe with libaio. So this patch will set
> RC's RCB to 128 bytes.
>
> Cc: Brian Norris <briannorris at chromium.org>
> Cc: Jeffy Chen <jeffy.chen at rock-chips.com>
> Signed-off-by: Shawn Lin <shawn.lin at rock-chips.com>
Applied to pci/host-rockchip for v4.12, thanks!
> ---
>
> drivers/pci/host/pcie-rockchip.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/pci/host/pcie-rockchip.c b/drivers/pci/host/pcie-rockchip.c
> index 26ddd35..8bcd417 100644
> --- a/drivers/pci/host/pcie-rockchip.c
> +++ b/drivers/pci/host/pcie-rockchip.c
> @@ -599,6 +599,11 @@ static int rockchip_pcie_init_port(struct rockchip_pcie *rockchip)
> status |= PCI_EXP_LNKCTL_CCC;
> rockchip_pcie_write(rockchip, status, PCIE_RC_CONFIG_LCS);
>
> + /* Set RC's RCB to 128 */
> + status = rockchip_pcie_read(rockchip, PCIE_RC_CONFIG_LCS);
> + status |= PCI_EXP_LNKCTL_RCB;
> + rockchip_pcie_write(rockchip, status, PCIE_RC_CONFIG_LCS);
> +
> /* Enable Gen1 training */
> rockchip_pcie_write(rockchip, PCIE_CLIENT_LINK_TRAIN_ENABLE,
> PCIE_CLIENT_CONFIG);
> --
> 1.9.1
>
>
More information about the Linux-rockchip
mailing list