Patch "PCI: altera: Fix TLP_CFG_DW0 for TLP write" has been added to the 4.10-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
PCI: altera: Fix TLP_CFG_DW0 for TLP write
to the 4.10-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
pci-altera-fix-tlp_cfg_dw0-for-tlp-write.patch
and it can be found in the queue-4.10 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
2a7275a3d867b228216886aae35e1f64291180b1Mon Sep 17 00:00:00 2001
From: Ley Foon Tan <[email protected]>
Date: Tue, 28 Feb 2017 18:37:16 +0800
Subject: PCI: altera: Fix TLP_CFG_DW0 for TLP write
From: Ley Foon Tan <[email protected]>
commit 2a7275a3d867b228216886aae35e1f64291180b1 upstream.
eb5767122feb ("PCI: altera: Simplify TLB_CFG_DW0 usage") used TLP_FMTTYPE_CFGRD* (instead of TLP_FMTTYPE_CFGWR*) for TLP writes, which causes writing to configuration space to fail. Fix it by using correct FMTTYPE for write operation.
--- drivers/pci/host/pcie-altera.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)
drivers/pci/host/pcie-altera.c +7 -3
@@ -57,10 +57,14 @@#define TLP_WRITE_TAG 0x10#define RP_DEVFN 0#define TLP_REQ_ID (bus, devfn) (((bus) << 8) | (devfn)) -#define TLP_CFG_DW0 (pcie, bus) \ +#define TLP_CFGRD_DW0 (pcie, bus) \ ((((bus == pcie->root_bus_nr) ? TLP_FMTTYPE_CFGRD0 \ : TLP_FMTTYPE_CFGRD1) << 24) | \ TLP_PAYLOAD_SIZE) +#define TLP_CFGWR_DW0 (pcie, bus) \ + ((((bus == pcie->root_bus_nr) ? TLP_FMTTYPE_CFGWR0 \ + : TLP_FMTTYPE_CFGWR1) << 24) | \ + TLP_PAYLOAD_SIZE)#define TLP_CFG_DW1 (pcie, tag, be) \ (((TLP_REQ_ID(pcie->root_bus_nr, RP_DEVFN)) << 16) | (tag << 8) | (be))#define TLP_CFG_DW2 (bus, devfn, offset) \
@@ -222,7 +226,7 @@ static int tlp_cfg_dword_read(struct alt {u32 headers[TLP_HDR_SIZE ]; - headers[0 ] =TLP_CFG_DW0 (pcie, bus); + headers[0 ] =TLP_CFGRD_DW0 (pcie, bus); headers[1 ] =TLP_CFG_DW1 (pcie,TLP_READ_TAG , byte_en); headers[2 ] =TLP_CFG_DW2 (bus, devfn, where);
@@ -237,7 +241,7 @@ static int tlp_cfg_dword_write(struct alu32 headers[TLP_HDR_SIZE ];int ret; - headers[0 ] =TLP_CFG_DW0 (pcie, bus); + headers[0 ] =TLP_CFGWR_DW0 (pcie, bus); headers[1 ] =TLP_CFG_DW1 (pcie,TLP_WRITE_TAG , byte_en); headers[2 ] =TLP_CFG_DW2 (bus, devfn, where);
Patches currently in stable-queue which might be from [email protected] are
queue-4.10/pci-altera-fix-tlp_cfg_dw0-for-tlp-write.patch