* Re: [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io and mem viewport @ 2014-02-21 1:31 Jingoo Han 2014-02-21 5:28 ` Kishon Vijay Abraham I 0 siblings, 1 reply; 15+ messages in thread From: Jingoo Han @ 2014-02-21 1:31 UTC (permalink / raw) To: Mohit KUMAR DCG, Kishon Vijay Abraham I Cc: Ajay KHANDELWAL, Bjorn Helgaas, spear-devel, linux-pci@vger.kernel.org, Jingoo Han T24gVGh1cnNkYXksIEZlYnJ1YXJ5IDIwLCAyMDE0IDEwOjM0IFBNLCBNb2hpdCBLVU1BUiBEQ0cg d3JvdGU6DQo+IFRodXJzZGF5LCBGZWJydWFyeSAyMCwgMjAxNCA1OjQzIFBNLCBLaXNob24gVmlq YXkgQWJyYWhhbSBJIHdyb3RlOg0KPiA+IE9uIFRodXJzZGF5IDIwIEZlYnJ1YXJ5IDIwMTQgMDU6 MjggUE0sIE1vaGl0IEtVTUFSIERDRyB3cm90ZToNCj4gPiA+IE9uIFRodXJzZGF5LCBGZWJydWFy eSAyMCwgMjAxNCA1OjA4IFBNLCBLaXNob24gVmlqYXkgQWJyYWhhbSBJIHdyb3RlOg0KPiA+ID4+ IE9uIFRodXJzZGF5IDIwIEZlYnJ1YXJ5IDIwMTQgMTA6NTIgQU0sIE1vaGl0IEt1bWFyIHdyb3Rl Og0KPiA+ID4+PiBUaGlzIHBhdGNoIGNvcnJlY3QgaUFUVSBwcm9ncmFtbWluZyBmb3IgY2ZnMSwg aW8gYW5kIG1lbSB2aWV3cG9ydC4NCj4gPiA+Pj4gRW5hYmxlIEFUVSBvbmx5IGFmdGVyIGNvbmZp Z3VyaW5nIGl0Lg0KPiA+ID4+DQo+ID4gPj4gRG9lcyB0aGlzIHBhdGNoIGFjdHVhbGx5IGZpeGVz IGRldmljZSBlbnVtZXJhdGlvbiBiZWhpbmQgYSBQQ0llLXBjaQ0KPiA+ID4+IGJyaWRnZSBvciB0 aGlzIGlzIG1vcmUgb2YgY2xlYW5pbmcgdXAgdGhlIHNlcXVlbmNlPw0KPiA+ID4+DQo+ID4gPiAt IFRoaXMgcGF0Y2ggY29ycmVjdHMgQVRVIHByb2dyYW1taW5nIHNlcXVlbmNlLiBJIGFtIG5vdCBh d2FyZSBvZiBhbnkNCj4gPiA+IHN1Y2ggaXNzdWUgd2l0aCBjdXJyZW50IGRyaXZlci4gUGxzIHNw ZWNpZnkgIHdoaWNoIGJyaWRnZSBkbyB5b3UgdXNlIGluIHlvdXINCj4gPiBzZXR1cCBhbmQgd2hh dCBpcyB0aGUgcHJvYmxlbT8NCj4gPg0KPiA+IEkgdHJpZWQgd2l0aCBjYXJkIFsxXSwgaXQgaGFk IGEgUExYIGJyaWRnZSBjaGlwLiBJdCBjb3VsZG4ndCByZWFkIHRoZSBjb25maWd1cmF0aW9uDQo+ ID4gc3BhY2Ugb2YgdGhlIGRldmljZSBjb25uZWN0ZWQgdG8gdGhlIFBDSWUtUENJIGJyaWRnZS4N Cj4gPg0KPiAtIEkgZG9uoa90IGhhdmUgdGhlIG1lbnRpb25lZCBjYXJkIHdpdGggbWUsIGJ1dCB3 ZSBhcmUgc3VjY2Vzc2Z1bGx5IHVzaW5nIExlY3JveSBQVEMgc3dpdGNoDQo+ICBhbmQgU0lMMzEy NC0yQ0IzNjQgUENJLVggY29tcGF0aWJsZSBSQUlEIGNhcmQuDQo+IA0KPiBNYXkgYmUgSmluZ29v IG9yIG90aGVycyBjYW4gYWxzbyBjb21tZW50IGlmIHRoZXkgYXJlIHVzaW5nIFBDSSBicmlkZ2Ug Y2FyZC4NCj4gDQoNCkhpIEtpc2hvbiwNCk5pY2UgdG8gc2VlIHlvdSBhZ2Fpbi4gOi0pDQoNCkkg ZG9uJ3QgaGF2ZSBQQ0llLVBDSSBicmlkZ2UuIEN1cnJlbnRseSwgSSBjYW4gdGVzdCBFdGhlcm5l dCBjYXJkcw0KYW5kIFNBVEEgY2FyZHMuDQoNCkJ5IHRoZSB3YXksIGFjY29yZGluZyB0byB0aGUg RGF0YXNoZWV0LCBQQ0lFX0FUVV9DUjEgc2V0dGluZyBjYW4gYmUNCmZvbGxvd2VkIGJ5IFBDSUVf QVRVX0NSMiBzZXR0aW5nIGFzIGJlbG93Og0KDQogIDEuIFNldHVwIHRoZSBJbmRleCBSZWdpc3Rl ci4NCiAgMi4gU2V0dXAgdGhlIFJlZ2lvbiBCYXNlIGFuZCBMaW1pdCBBZGRyZXNzIFJlZ2lzdGVy cy4NCiAgMy4gU2V0dXAgdGhlIFRhcmdldCBBZGRyZXNzIFJlZ2lzdGVycy4NCiAgNC4gQ29uZmln dXJlIHRoZSByZWdpb24gdGhyb3VnaCB0aGUgUmVnaW9uIENvbnRyb2wgMSBSZWdpc3Rlci4NCiAg NS4gRW5hYmxlIHRoZSByZWdpb24uDQoNClRodXMsIGhvdyBhYm91dCB0ZXN0aW5nIHRoZSBmb2xs b3dpbmcgcGF0Y2g/DQpJIGFsc28gbW92ZWQgUENJRV9BVFVfQ1IxIGFzIHdlbGwgYXMgUENJRV9B VFVfQ1IyLg0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvaG9zdC9wY2llLWRlc2lnbndhcmUu YyBiL2RyaXZlcnMvcGNpL2hvc3QvcGNpZS1kZXNpZ253YXJlLmMNCmluZGV4IDZkMjNkOGMuLjQw MTdhYmYgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL3BjaS9ob3N0L3BjaWUtZGVzaWdud2FyZS5jDQor KysgYi9kcml2ZXJzL3BjaS9ob3N0L3BjaWUtZGVzaWdud2FyZS5jDQpAQCAtNTIxLDE0ICs1MjEs MTQgQEAgc3RhdGljIHZvaWQgZHdfcGNpZV9wcm9nX3ZpZXdwb3J0X2NmZzEoc3RydWN0IHBjaWVf cG9ydCAqcHAsIHUzMiBidXNkZXYpDQogICAgICAgIC8qIFByb2dyYW0gdmlld3BvcnQgMSA6IE9V VEJPVU5EIDogQ0ZHMSAqLw0KICAgICAgICBkd19wY2llX3dyaXRlbF9yYyhwcCwgUENJRV9BVFVf UkVHSU9OX09VVEJPVU5EIHwgUENJRV9BVFVfUkVHSU9OX0lOREVYMSwNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgUENJRV9BVFVfVklFV1BPUlQpOw0KLSAgICAgICBkd19wY2llX3dyaXRlbF9y YyhwcCwgUENJRV9BVFVfVFlQRV9DRkcxLCBQQ0lFX0FUVV9DUjEpOw0KLSAgICAgICBkd19wY2ll X3dyaXRlbF9yYyhwcCwgUENJRV9BVFVfRU5BQkxFLCBQQ0lFX0FUVV9DUjIpOw0KICAgICAgICBk d19wY2llX3dyaXRlbF9yYyhwcCwgcHAtPmNmZzFfYmFzZSwgUENJRV9BVFVfTE9XRVJfQkFTRSk7 DQogICAgICAgIGR3X3BjaWVfd3JpdGVsX3JjKHBwLCAocHAtPmNmZzFfYmFzZSA+PiAzMiksIFBD SUVfQVRVX1VQUEVSX0JBU0UpOw0KICAgICAgICBkd19wY2llX3dyaXRlbF9yYyhwcCwgcHAtPmNm ZzFfYmFzZSArIHBwLT5jb25maWcuY2ZnMV9zaXplIC0gMSwNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgUENJRV9BVFVfTElNSVQpOw0KICAgICAgICBkd19wY2llX3dyaXRlbF9yYyhwcCwgYnVz ZGV2LCBQQ0lFX0FUVV9MT1dFUl9UQVJHRVQpOw0KICAgICAgICBkd19wY2llX3dyaXRlbF9yYyhw cCwgMCwgUENJRV9BVFVfVVBQRVJfVEFSR0VUKTsNCisgICAgICAgZHdfcGNpZV93cml0ZWxfcmMo cHAsIFBDSUVfQVRVX1RZUEVfQ0ZHMSwgUENJRV9BVFVfQ1IxKTsNCisgICAgICAgZHdfcGNpZV93 cml0ZWxfcmMocHAsIFBDSUVfQVRVX0VOQUJMRSwgUENJRV9BVFVfQ1IyKTsNCiB9DQoNCiBzdGF0 aWMgdm9pZCBkd19wY2llX3Byb2dfdmlld3BvcnRfbWVtX291dGJvdW5kKHN0cnVjdCBwY2llX3Bv cnQgKnBwKQ0KQEAgLTUzNiw4ICs1MzYsNiBAQCBzdGF0aWMgdm9pZCBkd19wY2llX3Byb2dfdmll d3BvcnRfbWVtX291dGJvdW5kKHN0cnVjdCBwY2llX3BvcnQgKnBwKQ0KICAgICAgICAvKiBQcm9n cmFtIHZpZXdwb3J0IDAgOiBPVVRCT1VORCA6IE1FTSAqLw0KKyAgICAgICBkd19wY2llX3dyaXRl bF9yYyhwcCwgUENJRV9BVFVfRU5BQkxFLCBQQ0lFX0FUVV9DUjIpOw0KIH0NCg0KIHN0YXRpYyB2 b2lkIGR3X3BjaWVfcHJvZ192aWV3cG9ydF9tZW1fb3V0Ym91bmQoc3RydWN0IHBjaWVfcG9ydCAq cHApDQpAQCAtNTM2LDggKzUzNiw2IEBAIHN0YXRpYyB2b2lkIGR3X3BjaWVfcHJvZ192aWV3cG9y dF9tZW1fb3V0Ym91bmQoc3RydWN0IHBjaWVfcG9ydCAqcHApDQogICAgICAgIC8qIFByb2dyYW0g dmlld3BvcnQgMCA6IE9VVEJPVU5EIDogTUVNICovDQogICAgICAgIGR3X3BjaWVfd3JpdGVsX3Jj KHBwLCBQQ0lFX0FUVV9SRUdJT05fT1VUQk9VTkQgfCBQQ0lFX0FUVV9SRUdJT05fSU5ERVgwLA0K ICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0lFX0FUVV9WSUVXUE9SVCk7DQotICAgICAgIGR3 X3BjaWVfd3JpdGVsX3JjKHBwLCBQQ0lFX0FUVV9UWVBFX01FTSwgUENJRV9BVFVfQ1IxKTsNCi0g ICAgICAgZHdfcGNpZV93cml0ZWxfcmMocHAsIFBDSUVfQVRVX0VOQUJMRSwgUENJRV9BVFVfQ1Iy KTsNCiAgICAgICAgZHdfcGNpZV93cml0ZWxfcmMocHAsIHBwLT5tZW1fYmFzZSwgUENJRV9BVFVf TE9XRVJfQkFTRSk7DQogICAgICAgIGR3X3BjaWVfd3JpdGVsX3JjKHBwLCAocHAtPm1lbV9iYXNl ID4+IDMyKSwgUENJRV9BVFVfVVBQRVJfQkFTRSk7DQogICAgICAgIGR3X3BjaWVfd3JpdGVsX3Jj KHBwLCBwcC0+bWVtX2Jhc2UgKyBwcC0+Y29uZmlnLm1lbV9zaXplIC0gMSwNCkBAIC01NDUsNiAr NTQzLDggQEAgc3RhdGljIHZvaWQgZHdfcGNpZV9wcm9nX3ZpZXdwb3J0X21lbV9vdXRib3VuZChz dHJ1Y3QgcGNpZV9wb3J0ICpwcCkNCiAgICAgICAgZHdfcGNpZV93cml0ZWxfcmMocHAsIHBwLT5j b25maWcubWVtX2J1c19hZGRyLCBQQ0lFX0FUVV9MT1dFUl9UQVJHRVQpOw0KICAgICAgICBkd19w Y2llX3dyaXRlbF9yYyhwcCwgdXBwZXJfMzJfYml0cyhwcC0+Y29uZmlnLm1lbV9idXNfYWRkciks DQogICAgICAgICAgICAgICAgICAgICAgICAgIFBDSUVfQVRVX1VQUEVSX1RBUkdFVCk7DQorICAg ICAgIGR3X3BjaWVfd3JpdGVsX3JjKHBwLCBQQ0lFX0FUVV9UWVBFX01FTSwgUENJRV9BVFVfQ1Ix KTsNCisgICAgICAgZHdfcGNpZV93cml0ZWxfcmMocHAsIFBDSUVfQVRVX0VOQUJMRSwgUENJRV9B VFVfQ1IyKTsNCiB9DQoNCiBzdGF0aWMgdm9pZCBkd19wY2llX3Byb2dfdmlld3BvcnRfaW9fb3V0 Ym91bmQoc3RydWN0IHBjaWVfcG9ydCAqcHApDQpAQCAtNTUyLDggKzU1Miw2IEBAIHN0YXRpYyB2 b2lkIGR3X3BjaWVfcHJvZ192aWV3cG9ydF9pb19vdXRib3VuZChzdHJ1Y3QgcGNpZV9wb3J0ICpw cCkNCiAgICAgICAgLyogUHJvZ3JhbSB2aWV3cG9ydCAxIDogT1VUQk9VTkQgOiBJTyAqLw0KICAg ICAgICBkd19wY2llX3dyaXRlbF9yYyhwcCwgUENJRV9BVFVfUkVHSU9OX09VVEJPVU5EIHwgUENJ RV9BVFVfUkVHSU9OX0lOREVYMSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgUENJRV9BVFVf VklFV1BPUlQpOw0KLSAgICAgICBkd19wY2llX3dyaXRlbF9yYyhwcCwgUENJRV9BVFVfVFlQRV9J TywgUENJRV9BVFVfQ1IxKTsNCi0gICAgICAgZHdfcGNpZV93cml0ZWxfcmMocHAsIFBDSUVfQVRV X0VOQUJMRSwgUENJRV9BVFVfQ1IyKTsNCiAgICAgICAgZHdfcGNpZV93cml0ZWxfcmMocHAsIHBw LT5pb19iYXNlLCBQQ0lFX0FUVV9MT1dFUl9CQVNFKTsNCiAgICAgICAgZHdfcGNpZV93cml0ZWxf cmMocHAsIChwcC0+aW9fYmFzZSA+PiAzMiksIFBDSUVfQVRVX1VQUEVSX0JBU0UpOw0KICAgICAg ICBkd19wY2llX3dyaXRlbF9yYyhwcCwgcHAtPmlvX2Jhc2UgKyBwcC0+Y29uZmlnLmlvX3NpemUg LSAxLA0KQEAgLTU2MSw2ICs1NTksOCBAQCBzdGF0aWMgdm9pZCBkd19wY2llX3Byb2dfdmlld3Bv cnRfaW9fb3V0Ym91bmQoc3RydWN0IHBjaWVfcG9ydCAqcHApDQogICAgICAgIGR3X3BjaWVfd3Jp dGVsX3JjKHBwLCBwcC0+Y29uZmlnLmlvX2J1c19hZGRyLCBQQ0lFX0FUVV9MT1dFUl9UQVJHRVQp Ow0KICAgICAgICBkd19wY2llX3dyaXRlbF9yYyhwcCwgdXBwZXJfMzJfYml0cyhwcC0+Y29uZmln LmlvX2J1c19hZGRyKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgUENJRV9BVFVfVVBQRVJf VEFSR0VUKTsNCisgICAgICAgZHdfcGNpZV93cml0ZWxfcmMocHAsIFBDSUVfQVRVX1RZUEVfSU8s IFBDSUVfQVRVX0NSMSk7DQorICAgICAgIGR3X3BjaWVfd3JpdGVsX3JjKHBwLCBQQ0lFX0FUVV9F TkFCTEUsIFBDSUVfQVRVX0NSMik7DQogfQ0KDQogc3RhdGljIGludCBkd19wY2llX3JkX290aGVy X2NvbmYoc3RydWN0IHBjaWVfcG9ydCAqcHAsIHN0cnVjdCBwY2lfYnVzICpidXMsDQotLQ0KMS43 LjEwLjQNCg0KQmVzdCByZWdhcmRzLA0KSmluZ29vIEhhbg0K ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io and mem viewport 2014-02-21 1:31 [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io and mem viewport Jingoo Han @ 2014-02-21 5:28 ` Kishon Vijay Abraham I 2014-02-26 6:31 ` Ajay Khandelwal 0 siblings, 1 reply; 15+ messages in thread From: Kishon Vijay Abraham I @ 2014-02-21 5:28 UTC (permalink / raw) To: jg1.han, Mohit KUMAR DCG Cc: Ajay KHANDELWAL, Bjorn Helgaas, spear-devel, linux-pci@vger.kernel.org Hi, On Friday 21 February 2014 07:01 AM, Jingoo Han wrote: > On Thursday, February 20, 2014 10:34 PM, Mohit KUMAR DCG wrote: >> Thursday, February 20, 2014 5:43 PM, Kishon Vijay Abraham I wrote: >>> On Thursday 20 February 2014 05:28 PM, Mohit KUMAR DCG wrote: >>>> On Thursday, February 20, 2014 5:08 PM, Kishon Vijay Abraham I wrote: >>>>> On Thursday 20 February 2014 10:52 AM, Mohit Kumar wrote: >>>>>> This patch correct iATU programming for cfg1, io and mem viewport. >>>>>> Enable ATU only after configuring it. >>>>> >>>>> Does this patch actually fixes device enumeration behind a PCIe-pci >>>>> bridge or this is more of cleaning up the sequence? >>>>> >>>> - This patch corrects ATU programming sequence. I am not aware of any >>>> such issue with current driver. Pls specify which bridge do you use in your >>> setup and what is the problem? >>> >>> I tried with card [1], it had a PLX bridge chip. It couldn't read the configuration >>> space of the device connected to the PCIe-PCI bridge. >>> >> - I don’t have the mentioned card with me, but we are successfully using Lecroy PTC switch >> and SIL3124-2CB364 PCI-X compatible RAID card. >> >> May be Jingoo or others can also comment if they are using PCI bridge card. >> > > Hi Kishon, > Nice to see you again. :-) > > I don't have PCIe-PCI bridge. Currently, I can test Ethernet cards > and SATA cards. The problem seems to be seen only if a device is connected after PCIe-PCI bridge. I've tested USB and Ethernet cards but that works just fine. > > By the way, according to the Datasheet, PCIE_ATU_CR1 setting can be > followed by PCIE_ATU_CR2 setting as below: > > 1. Setup the Index Register. > 2. Setup the Region Base and Limit Address Registers. > 3. Setup the Target Address Registers. > 4. Configure the region through the Region Control 1 Register. > 5. Enable the region. > > Thus, how about testing the following patch? > I also moved PCIE_ATU_CR1 as well as PCIE_ATU_CR2. Thanks for the patch. I have just burnt my PCIE-to-PCI bridge card :-s Will test this once I get a new card. Thanks Kishon ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io and mem viewport 2014-02-21 5:28 ` Kishon Vijay Abraham I @ 2014-02-26 6:31 ` Ajay Khandelwal 2014-02-26 7:47 ` Kishon Vijay Abraham I 0 siblings, 1 reply; 15+ messages in thread From: Ajay Khandelwal @ 2014-02-26 6:31 UTC (permalink / raw) To: Kishon Vijay Abraham I Cc: jg1.han@samsung.com, Mohit KUMAR DCG, Bjorn Helgaas, spear-devel, linux-pci@vger.kernel.org Hi Kishon, On 2/21/2014 10:58 AM, Kishon Vijay Abraham I wrote: > Thanks for the patch. I have just burnt my PCIE-to-PCI bridge card :-s Will > test this once I get a new card. were you able to solve issue in PCIE-to-PCI bridge. On SPEAr I see issues with PCIe to PCI bridge and PCIe to PCIe switch. Imprecise external abort is generated, providing hook for abort(similar to imx6) solves this. Thanks and Regards, Ajay ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io and mem viewport 2014-02-26 6:31 ` Ajay Khandelwal @ 2014-02-26 7:47 ` Kishon Vijay Abraham I 2014-02-26 10:52 ` Pratyush Anand 0 siblings, 1 reply; 15+ messages in thread From: Kishon Vijay Abraham I @ 2014-02-26 7:47 UTC (permalink / raw) To: Ajay Khandelwal Cc: jg1.han@samsung.com, Mohit KUMAR DCG, Bjorn Helgaas, spear-devel, linux-pci@vger.kernel.org On Wednesday 26 February 2014 12:01 PM, Ajay Khandelwal wrote: > Hi Kishon, > > On 2/21/2014 10:58 AM, Kishon Vijay Abraham I wrote: >> Thanks for the patch. I have just burnt my PCIE-to-PCI bridge card :-s Will >> test this once I get a new card. > > were you able to solve issue in PCIE-to-PCI bridge. oh yes. I was giving the total configuration space as 4k (2k for cfg0 and 2k for cfg1). But there was some problem when I write 0x800 to PCIE_ATU_LOWER_BASE. If I read back PCIE_ATU_LOWER_BASE after writing 0x800, it has 0x0. So I increased the configuration space to 8k (4k for cfg0 and 4k for cfg1). With this I write 0x1000 to PCIE_ATU_LOWER_BASE and able to enumerate devices behind a PCIE-to-PCI bridge. > > On SPEAr I see issues with PCIe to PCI bridge and PCIe to PCIe switch. > > Imprecise external abort is generated, providing hook for abort(similar > to imx6) solves this. But this issue seems to be different :-s Thanks Kishon ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io and mem viewport 2014-02-26 7:47 ` Kishon Vijay Abraham I @ 2014-02-26 10:52 ` Pratyush Anand 2014-02-27 1:18 ` Jingoo Han 0 siblings, 1 reply; 15+ messages in thread From: Pratyush Anand @ 2014-02-26 10:52 UTC (permalink / raw) To: Kishon Vijay Abraham I, jg1.han@samsung.com Cc: Ajay KHANDELWAL, Mohit KUMAR DCG, Bjorn Helgaas, spear-devel, linux-pci@vger.kernel.org On Wed, Feb 26, 2014 at 03:47:27PM +0800, Kishon Vijay Abraham I wrote: > On Wednesday 26 February 2014 12:01 PM, Ajay Khandelwal wrote: > > Hi Kishon, > > > > On 2/21/2014 10:58 AM, Kishon Vijay Abraham I wrote: > >> Thanks for the patch. I have just burnt my PCIE-to-PCI bridge card :-s Will > >> test this once I get a new card. > > > > were you able to solve issue in PCIE-to-PCI bridge. > > oh yes. I was giving the total configuration space as 4k (2k for cfg0 and 2k > for cfg1). But there was some problem when I write 0x800 to > PCIE_ATU_LOWER_BASE. If I read back PCIE_ATU_LOWER_BASE after writing 0x800, it > has 0x0. > > So I increased the configuration space to 8k (4k for cfg0 and 4k for cfg1). > With this I write 0x1000 to PCIE_ATU_LOWER_BASE and able to enumerate devices > behind a PCIE-to-PCI bridge. As per designware specs minimum value of CX_ATU_MIN_REGION_SIZE is 4 KB. Depending on the SOC it can be configured from 4 to 64KB. So you can not have an address translation unit less than 4 KB in any SOC. I think, it would be worth to mention this information in designware pcie binding documentation. However I am surprised, how does it work in case of exynos. Jingoo?? Size of configuration space passed from DT is 0x1000 in exynos. As per my understanding (and what snps specs says), this value should be minimum 0x2000 in any SOC, as we divide this space equally for cfg0 and cfg1 in driver. Regards Pratysuh > > > > On SPEAr I see issues with PCIe to PCI bridge and PCIe to PCIe switch. > > > > Imprecise external abort is generated, providing hook for abort(similar > > to imx6) solves this. > > But this issue seems to be different :-s > > Thanks > Kishon ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io and mem viewport 2014-02-26 10:52 ` Pratyush Anand @ 2014-02-27 1:18 ` Jingoo Han 2014-02-27 1:37 ` Jingoo Han 0 siblings, 1 reply; 15+ messages in thread From: Jingoo Han @ 2014-02-27 1:18 UTC (permalink / raw) To: 'Pratyush Anand', 'Kishon Vijay Abraham I' Cc: 'Ajay KHANDELWAL', 'Mohit KUMAR DCG', 'Bjorn Helgaas', 'spear-devel', linux-pci, 'Jingoo Han' On Wednesday, February 26, 2014 7:52 PM, Pratyush Anand wrote: > On Wed, Feb 26, 2014 at 03:47:27PM +0800, Kishon Vijay Abraham I wrote: > > On Wednesday 26 February 2014 12:01 PM, Ajay Khandelwal wrote: > > > Hi Kishon, > > > > > > On 2/21/2014 10:58 AM, Kishon Vijay Abraham I wrote: > > >> Thanks for the patch. I have just burnt my PCIE-to-PCI bridge card :-s Will > > >> test this once I get a new card. > > > > > > were you able to solve issue in PCIE-to-PCI bridge. > > > > oh yes. I was giving the total configuration space as 4k (2k for cfg0 and 2k > > for cfg1). But there was some problem when I write 0x800 to > > PCIE_ATU_LOWER_BASE. If I read back PCIE_ATU_LOWER_BASE after writing 0x800, it > > has 0x0. > > > > So I increased the configuration space to 8k (4k for cfg0 and 4k for cfg1). > > With this I write 0x1000 to PCIE_ATU_LOWER_BASE and able to enumerate devices > > behind a PCIE-to-PCI bridge. > > As per designware specs minimum value of CX_ATU_MIN_REGION_SIZE is 4 KB. > Depending on the SOC it can be configured from 4 to 64KB. So you can > not have an address translation unit less than 4 KB in any SOC. In the case of Exynos, the minimum value of CX_ATU_MIN_REGION_SIZE is 64KB. > > I think, it would be worth to mention this information in designware pcie binding > documentation. > > However I am surprised, how does it work in case of exynos. Jingoo?? I don't know. However, there was no issue at my side. Currently, I am testing only Ethernet cards & SATA cards. > Size of configuration space passed from DT is 0x1000 in exynos. As per > my understanding (and what snps specs says), this value should be > minimum 0x2000 in any SOC, as we divide this space equally for cfg0 and > cfg1 in driver. I changed 'Size of configuration space passed from DT' from 0x1000 to 0x2000 as below: ranges = <0x00000800 0 0x40000000 0x40000000 0 0x00002000 /* configuration space */ 0x81000000 0 0 0x40002000 0 0x00010000 /* downstream I/O */ 0x82000000 0 0x40012000 0x40012000 0 0x1ffee000>; /* non-prefetchable memory */ Then, I tested it on Exynos platform; it works properly with Ethernet card. Best regards, Jingoo Han > > Regards > Pratysuh > > > > > > > On SPEAr I see issues with PCIe to PCI bridge and PCIe to PCIe switch. > > > > > > Imprecise external abort is generated, providing hook for abort(similar > > > to imx6) solves this. > > > > But this issue seems to be different :-s > > > > Thanks > > Kishon ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io and mem viewport 2014-02-27 1:18 ` Jingoo Han @ 2014-02-27 1:37 ` Jingoo Han 2014-02-27 4:10 ` Pratyush Anand 0 siblings, 1 reply; 15+ messages in thread From: Jingoo Han @ 2014-02-27 1:37 UTC (permalink / raw) To: 'Pratyush Anand', 'Kishon Vijay Abraham I' Cc: 'Ajay KHANDELWAL', 'Mohit KUMAR DCG', 'Bjorn Helgaas', 'spear-devel', linux-pci, 'Jingoo Han' On Thursday, February 27, 2014 10:18 AM, Jingoo Han wrote: > On Wednesday, February 26, 2014 7:52 PM, Pratyush Anand wrote: > > On Wed, Feb 26, 2014 at 03:47:27PM +0800, Kishon Vijay Abraham I wrote: > > > On Wednesday 26 February 2014 12:01 PM, Ajay Khandelwal wrote: > > > > Hi Kishon, > > > > > > > > On 2/21/2014 10:58 AM, Kishon Vijay Abraham I wrote: > > > >> Thanks for the patch. I have just burnt my PCIE-to-PCI bridge card :-s Will > > > >> test this once I get a new card. > > > > > > > > were you able to solve issue in PCIE-to-PCI bridge. > > > > > > oh yes. I was giving the total configuration space as 4k (2k for cfg0 and 2k > > > for cfg1). But there was some problem when I write 0x800 to > > > PCIE_ATU_LOWER_BASE. If I read back PCIE_ATU_LOWER_BASE after writing 0x800, it > > > has 0x0. > > > > > > So I increased the configuration space to 8k (4k for cfg0 and 4k for cfg1). > > > With this I write 0x1000 to PCIE_ATU_LOWER_BASE and able to enumerate devices > > > behind a PCIE-to-PCI bridge. > > > > As per designware specs minimum value of CX_ATU_MIN_REGION_SIZE is 4 KB. > > Depending on the SOC it can be configured from 4 to 64KB. So you can > > not have an address translation unit less than 4 KB in any SOC. > > In the case of Exynos, the minimum value of CX_ATU_MIN_REGION_SIZE is 64KB. Oh! Sorry. I got the response from one of our hardware engineers about 'CX_ATU_MIN_REGION_SIZE'. The minimum value of CX_ATU_MIN_REGION_SIZE is 4KB. Sorry for confusing you. :-( Best regards, Jingoo Han > > > > > I think, it would be worth to mention this information in designware pcie binding > > documentation. > > > > However I am surprised, how does it work in case of exynos. Jingoo?? > > I don't know. However, there was no issue at my side. > Currently, I am testing only Ethernet cards & SATA cards. > > > Size of configuration space passed from DT is 0x1000 in exynos. As per > > my understanding (and what snps specs says), this value should be > > minimum 0x2000 in any SOC, as we divide this space equally for cfg0 and > > cfg1 in driver. > > I changed 'Size of configuration space passed from DT' from 0x1000 to > 0x2000 as below: > > ranges = <0x00000800 0 0x40000000 0x40000000 0 0x00002000 /* configuration space */ > 0x81000000 0 0 0x40002000 0 0x00010000 /* downstream I/O */ > 0x82000000 0 0x40012000 0x40012000 0 0x1ffee000>; /* non-prefetchable memory */ > > Then, I tested it on Exynos platform; it works properly with > Ethernet card. > > Best regards, > Jingoo Han > > > > > Regards > > Pratysuh > > > > > > > > > > On SPEAr I see issues with PCIe to PCI bridge and PCIe to PCIe switch. > > > > > > > > Imprecise external abort is generated, providing hook for abort(similar > > > > to imx6) solves this. > > > > > > But this issue seems to be different :-s > > > > > > Thanks > > > Kishon ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io and mem viewport 2014-02-27 1:37 ` Jingoo Han @ 2014-02-27 4:10 ` Pratyush Anand 0 siblings, 0 replies; 15+ messages in thread From: Pratyush Anand @ 2014-02-27 4:10 UTC (permalink / raw) To: Jingoo Han Cc: 'Kishon Vijay Abraham I', Ajay KHANDELWAL, Mohit KUMAR DCG, 'Bjorn Helgaas', spear-devel, linux-pci@vger.kernel.org On Thu, Feb 27, 2014 at 09:37:05AM +0800, Jingoo Han wrote: > On Thursday, February 27, 2014 10:18 AM, Jingoo Han wrote: > > On Wednesday, February 26, 2014 7:52 PM, Pratyush Anand wrote: > > > On Wed, Feb 26, 2014 at 03:47:27PM +0800, Kishon Vijay Abraham I wrote: > > > > On Wednesday 26 February 2014 12:01 PM, Ajay Khandelwal wrote: > > > > > Hi Kishon, > > > > > > > > > > On 2/21/2014 10:58 AM, Kishon Vijay Abraham I wrote: > > > > >> Thanks for the patch. I have just burnt my PCIE-to-PCI bridge card :-s Will > > > > >> test this once I get a new card. > > > > > > > > > > were you able to solve issue in PCIE-to-PCI bridge. > > > > > > > > oh yes. I was giving the total configuration space as 4k (2k for cfg0 and 2k > > > > for cfg1). But there was some problem when I write 0x800 to > > > > PCIE_ATU_LOWER_BASE. If I read back PCIE_ATU_LOWER_BASE after writing 0x800, it > > > > has 0x0. > > > > > > > > So I increased the configuration space to 8k (4k for cfg0 and 4k for cfg1). > > > > With this I write 0x1000 to PCIE_ATU_LOWER_BASE and able to enumerate devices > > > > behind a PCIE-to-PCI bridge. > > > > > > As per designware specs minimum value of CX_ATU_MIN_REGION_SIZE is 4 KB. > > > Depending on the SOC it can be configured from 4 to 64KB. So you can > > > not have an address translation unit less than 4 KB in any SOC. > > > > In the case of Exynos, the minimum value of CX_ATU_MIN_REGION_SIZE is 64KB. > > Oh! Sorry. > > I got the response from one of our hardware engineers > about 'CX_ATU_MIN_REGION_SIZE'. The minimum value of > CX_ATU_MIN_REGION_SIZE is 4KB. In case of 4 KB, you should keep configuration space size in DT as 0x2000. With the current value (0x1000) you will not have any problem in cfg0 transfer, however you will not be able to execute cfg1. To test cfg1 transaction you will need a PICe card having multiple EP below a bridge. Regards Pratyush > > Sorry for confusing you. :-( > > Best regards, > Jingoo Han > > > > > > > > > I think, it would be worth to mention this information in designware pcie binding > > > documentation. > > > > > > However I am surprised, how does it work in case of exynos. Jingoo?? > > > > I don't know. However, there was no issue at my side. > > Currently, I am testing only Ethernet cards & SATA cards. > > > > > Size of configuration space passed from DT is 0x1000 in exynos. As per > > > my understanding (and what snps specs says), this value should be > > > minimum 0x2000 in any SOC, as we divide this space equally for cfg0 and > > > cfg1 in driver. > > > > I changed 'Size of configuration space passed from DT' from 0x1000 to > > 0x2000 as below: > > > > ranges = <0x00000800 0 0x40000000 0x40000000 0 0x00002000 /* configuration space */ > > 0x81000000 0 0 0x40002000 0 0x00010000 /* downstream I/O */ > > 0x82000000 0 0x40012000 0x40012000 0 0x1ffee000>; /* non-prefetchable memory */ > > > > Then, I tested it on Exynos platform; it works properly with > > Ethernet card. > > > > Best regards, > > Jingoo Han > > > > > > > > Regards > > > Pratysuh > > > > > > > > > > > > > On SPEAr I see issues with PCIe to PCI bridge and PCIe to PCIe switch. > > > > > > > > > > Imprecise external abort is generated, providing hook for abort(similar > > > > > to imx6) solves this. > > > > > > > > But this issue seems to be different :-s > > > > > > > > Thanks > > > > Kishon ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 1/2] PCI:designware:Fix comment for setting number of lanes @ 2014-02-20 5:22 Mohit Kumar 2014-02-20 5:22 ` [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io and mem viewport Mohit Kumar 0 siblings, 1 reply; 15+ messages in thread From: Mohit Kumar @ 2014-02-20 5:22 UTC (permalink / raw) To: jg1.han; +Cc: Mohit Kumar, Bjorn Helgaas, spear-devel, linux-pci Corrects comment for setting number of lanes. Signed-off-by: Mohit Kumar <mohit.kumar@st.com> Cc: Jingoo Han <jg1.han@samsung.com> Cc: Bjorn Helgaas <bhelgass@google.com> Cc: spear-devel@list.st.com Cc: linux-pci@vger.kernel.org --- drivers/pci/host/pcie-designware.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/pci/host/pcie-designware.c b/drivers/pci/host/pcie-designware.c index 6d23d8c..391966f 100644 --- a/drivers/pci/host/pcie-designware.c +++ b/drivers/pci/host/pcie-designware.c @@ -766,7 +766,7 @@ void dw_pcie_setup_rc(struct pcie_port *pp) u32 membase; u32 memlimit; - /* set the number of lines as 4 */ + /* set the number of lanes */ dw_pcie_readl_rc(pp, PCIE_PORT_LINK_CONTROL, &val); val &= ~PORT_LINK_MODE_MASK; switch (pp->lanes) { -- 1.7.0.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io and mem viewport 2014-02-20 5:22 [PATCH 1/2] PCI:designware:Fix comment for setting number of lanes Mohit Kumar @ 2014-02-20 5:22 ` Mohit Kumar 2014-02-20 6:45 ` Mohit KUMAR DCG 2014-02-20 11:38 ` Kishon Vijay Abraham I 0 siblings, 2 replies; 15+ messages in thread From: Mohit Kumar @ 2014-02-20 5:22 UTC (permalink / raw) To: jg1.han; +Cc: Mohit Kumar, Ajay Khandelwal, Bjorn Helgaas, spear-devel, linux-pci This patch correct iATU programming for cfg1, io and mem viewport. Enable ATU only after configuring it. Signed-off-by: Mohit Kumar <mohit.kumar@st.com> Signed-off-by: Ajay Khandelwal <ajay.khandelwal@st.com> Cc: Jingoo Han <jg1.han@samsung.com> Cc: Bjorn Helgaas <bhelgass@google.com> Cc: spear-devel@list.st.com Cc: linux-pci@vger.kernel.org --- drivers/pci/host/pcie-designware.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/pci/host/pcie-designware.c b/drivers/pci/host/pcie-designware.c index 391966f..46f4a19 100644 --- a/drivers/pci/host/pcie-designware.c +++ b/drivers/pci/host/pcie-designware.c @@ -522,13 +522,13 @@ static void dw_pcie_prog_viewport_cfg1(struct pcie_port *pp, u32 busdev) dw_pcie_writel_rc(pp, PCIE_ATU_REGION_OUTBOUND | PCIE_ATU_REGION_INDEX1, PCIE_ATU_VIEWPORT); dw_pcie_writel_rc(pp, PCIE_ATU_TYPE_CFG1, PCIE_ATU_CR1); - dw_pcie_writel_rc(pp, PCIE_ATU_ENABLE, PCIE_ATU_CR2); dw_pcie_writel_rc(pp, pp->cfg1_base, PCIE_ATU_LOWER_BASE); dw_pcie_writel_rc(pp, (pp->cfg1_base >> 32), PCIE_ATU_UPPER_BASE); dw_pcie_writel_rc(pp, pp->cfg1_base + pp->config.cfg1_size - 1, PCIE_ATU_LIMIT); dw_pcie_writel_rc(pp, busdev, PCIE_ATU_LOWER_TARGET); dw_pcie_writel_rc(pp, 0, PCIE_ATU_UPPER_TARGET); + dw_pcie_writel_rc(pp, PCIE_ATU_ENABLE, PCIE_ATU_CR2); } static void dw_pcie_prog_viewport_mem_outbound(struct pcie_port *pp) @@ -537,7 +537,6 @@ static void dw_pcie_prog_viewport_mem_outbound(struct pcie_port *pp) dw_pcie_writel_rc(pp, PCIE_ATU_REGION_OUTBOUND | PCIE_ATU_REGION_INDEX0, PCIE_ATU_VIEWPORT); dw_pcie_writel_rc(pp, PCIE_ATU_TYPE_MEM, PCIE_ATU_CR1); - dw_pcie_writel_rc(pp, PCIE_ATU_ENABLE, PCIE_ATU_CR2); dw_pcie_writel_rc(pp, pp->mem_base, PCIE_ATU_LOWER_BASE); dw_pcie_writel_rc(pp, (pp->mem_base >> 32), PCIE_ATU_UPPER_BASE); dw_pcie_writel_rc(pp, pp->mem_base + pp->config.mem_size - 1, @@ -545,6 +544,7 @@ static void dw_pcie_prog_viewport_mem_outbound(struct pcie_port *pp) dw_pcie_writel_rc(pp, pp->config.mem_bus_addr, PCIE_ATU_LOWER_TARGET); dw_pcie_writel_rc(pp, upper_32_bits(pp->config.mem_bus_addr), PCIE_ATU_UPPER_TARGET); + dw_pcie_writel_rc(pp, PCIE_ATU_ENABLE, PCIE_ATU_CR2); } static void dw_pcie_prog_viewport_io_outbound(struct pcie_port *pp) @@ -553,7 +553,6 @@ static void dw_pcie_prog_viewport_io_outbound(struct pcie_port *pp) dw_pcie_writel_rc(pp, PCIE_ATU_REGION_OUTBOUND | PCIE_ATU_REGION_INDEX1, PCIE_ATU_VIEWPORT); dw_pcie_writel_rc(pp, PCIE_ATU_TYPE_IO, PCIE_ATU_CR1); - dw_pcie_writel_rc(pp, PCIE_ATU_ENABLE, PCIE_ATU_CR2); dw_pcie_writel_rc(pp, pp->io_base, PCIE_ATU_LOWER_BASE); dw_pcie_writel_rc(pp, (pp->io_base >> 32), PCIE_ATU_UPPER_BASE); dw_pcie_writel_rc(pp, pp->io_base + pp->config.io_size - 1, @@ -561,6 +560,7 @@ static void dw_pcie_prog_viewport_io_outbound(struct pcie_port *pp) dw_pcie_writel_rc(pp, pp->config.io_bus_addr, PCIE_ATU_LOWER_TARGET); dw_pcie_writel_rc(pp, upper_32_bits(pp->config.io_bus_addr), PCIE_ATU_UPPER_TARGET); + dw_pcie_writel_rc(pp, PCIE_ATU_ENABLE, PCIE_ATU_CR2); } static int dw_pcie_rd_other_conf(struct pcie_port *pp, struct pci_bus *bus, -- 1.7.0.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* RE: [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io and mem viewport 2014-02-20 5:22 ` [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io and mem viewport Mohit Kumar @ 2014-02-20 6:45 ` Mohit KUMAR DCG 2014-02-20 11:38 ` Kishon Vijay Abraham I 1 sibling, 0 replies; 15+ messages in thread From: Mohit KUMAR DCG @ 2014-02-20 6:45 UTC (permalink / raw) To: jg1.han@samsung.com Cc: Ajay KHANDELWAL, Bjorn Helgaas, spear-devel, linux-pci@vger.kernel.org, stable@vger.kerne.org K2NjIHN0YWJsZUB2Z2VyLmtlcm5lLm9yZw0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+IEZyb206IE1vaGl0IEtVTUFSIERDRw0KPiBTZW50OiBUaHVyc2RheSwgRmVicnVhcnkgMjAs IDIwMTQgMTA6NTMgQU0NCj4gVG86IGpnMS5oYW5Ac2Ftc3VuZy5jb20NCj4gQ2M6IE1vaGl0IEtV TUFSIERDRzsgQWpheSBLSEFOREVMV0FMOyBCam9ybiBIZWxnYWFzOyBzcGVhci1kZXZlbDsNCj4g bGludXgtcGNpQHZnZXIua2VybmVsLm9yZw0KPiBTdWJqZWN0OiBbUEFUQ0ggMi8yXSBQQ0k6ZGVz aWdud2FyZTpGaXggaUFUVSBwcm9ncmFtbWluZyBmb3IgY2ZnMSwgaW8gYW5kDQo+IG1lbSB2aWV3 cG9ydA0KPiANCj4gVGhpcyBwYXRjaCBjb3JyZWN0IGlBVFUgcHJvZ3JhbW1pbmcgZm9yIGNmZzEs IGlvIGFuZCBtZW0gdmlld3BvcnQuDQo+IEVuYWJsZSBBVFUgb25seSBhZnRlciBjb25maWd1cmlu ZyBpdC4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IE1vaGl0IEt1bWFyIDxtb2hpdC5rdW1hckBzdC5j b20+DQo+IFNpZ25lZC1vZmYtYnk6IEFqYXkgS2hhbmRlbHdhbCA8YWpheS5raGFuZGVsd2FsQHN0 LmNvbT4NCj4gQ2M6IEppbmdvbyBIYW4gPGpnMS5oYW5Ac2Ftc3VuZy5jb20+DQo+IENjOiBCam9y biBIZWxnYWFzIDxiaGVsZ2Fzc0Bnb29nbGUuY29tPg0KPiBDYzogc3BlYXItZGV2ZWxAbGlzdC5z dC5jb20NCj4gQ2M6IGxpbnV4LXBjaUB2Z2VyLmtlcm5lbC5vcmcNCj4gLS0tDQo+ICBkcml2ZXJz L3BjaS9ob3N0L3BjaWUtZGVzaWdud2FyZS5jIHwgICAgNiArKystLS0NCj4gIDEgZmlsZXMgY2hh bmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvcGNpL2hvc3QvcGNpZS1kZXNpZ253YXJlLmMgYi9kcml2ZXJzL3BjaS9ob3N0L3Bj aWUtDQo+IGRlc2lnbndhcmUuYw0KPiBpbmRleCAzOTE5NjZmLi40NmY0YTE5IDEwMDY0NA0KPiAt LS0gYS9kcml2ZXJzL3BjaS9ob3N0L3BjaWUtZGVzaWdud2FyZS5jDQo+ICsrKyBiL2RyaXZlcnMv cGNpL2hvc3QvcGNpZS1kZXNpZ253YXJlLmMNCj4gQEAgLTUyMiwxMyArNTIyLDEzIEBAIHN0YXRp YyB2b2lkIGR3X3BjaWVfcHJvZ192aWV3cG9ydF9jZmcxKHN0cnVjdA0KPiBwY2llX3BvcnQgKnBw LCB1MzIgYnVzZGV2KQ0KPiAgCWR3X3BjaWVfd3JpdGVsX3JjKHBwLCBQQ0lFX0FUVV9SRUdJT05f T1VUQk9VTkQgfA0KPiBQQ0lFX0FUVV9SRUdJT05fSU5ERVgxLA0KPiAgCQkJICBQQ0lFX0FUVV9W SUVXUE9SVCk7DQo+ICAJZHdfcGNpZV93cml0ZWxfcmMocHAsIFBDSUVfQVRVX1RZUEVfQ0ZHMSwg UENJRV9BVFVfQ1IxKTsNCj4gLQlkd19wY2llX3dyaXRlbF9yYyhwcCwgUENJRV9BVFVfRU5BQkxF LCBQQ0lFX0FUVV9DUjIpOw0KPiAgCWR3X3BjaWVfd3JpdGVsX3JjKHBwLCBwcC0+Y2ZnMV9iYXNl LCBQQ0lFX0FUVV9MT1dFUl9CQVNFKTsNCj4gIAlkd19wY2llX3dyaXRlbF9yYyhwcCwgKHBwLT5j ZmcxX2Jhc2UgPj4gMzIpLA0KPiBQQ0lFX0FUVV9VUFBFUl9CQVNFKTsNCj4gIAlkd19wY2llX3dy aXRlbF9yYyhwcCwgcHAtPmNmZzFfYmFzZSArIHBwLT5jb25maWcuY2ZnMV9zaXplIC0gMSwNCj4g IAkJCSAgUENJRV9BVFVfTElNSVQpOw0KPiAgCWR3X3BjaWVfd3JpdGVsX3JjKHBwLCBidXNkZXYs IFBDSUVfQVRVX0xPV0VSX1RBUkdFVCk7DQo+ICAJZHdfcGNpZV93cml0ZWxfcmMocHAsIDAsIFBD SUVfQVRVX1VQUEVSX1RBUkdFVCk7DQo+ICsJZHdfcGNpZV93cml0ZWxfcmMocHAsIFBDSUVfQVRV X0VOQUJMRSwgUENJRV9BVFVfQ1IyKTsNCj4gIH0NCj4gDQo+ICBzdGF0aWMgdm9pZCBkd19wY2ll X3Byb2dfdmlld3BvcnRfbWVtX291dGJvdW5kKHN0cnVjdCBwY2llX3BvcnQgKnBwKQ0KPiBAQCAt NTM3LDcgKzUzNyw2IEBAIHN0YXRpYyB2b2lkDQo+IGR3X3BjaWVfcHJvZ192aWV3cG9ydF9tZW1f b3V0Ym91bmQoc3RydWN0IHBjaWVfcG9ydCAqcHApDQo+ICAJZHdfcGNpZV93cml0ZWxfcmMocHAs IFBDSUVfQVRVX1JFR0lPTl9PVVRCT1VORCB8DQo+IFBDSUVfQVRVX1JFR0lPTl9JTkRFWDAsDQo+ ICAJCQkgIFBDSUVfQVRVX1ZJRVdQT1JUKTsNCj4gIAlkd19wY2llX3dyaXRlbF9yYyhwcCwgUENJ RV9BVFVfVFlQRV9NRU0sIFBDSUVfQVRVX0NSMSk7DQo+IC0JZHdfcGNpZV93cml0ZWxfcmMocHAs IFBDSUVfQVRVX0VOQUJMRSwgUENJRV9BVFVfQ1IyKTsNCj4gIAlkd19wY2llX3dyaXRlbF9yYyhw cCwgcHAtPm1lbV9iYXNlLCBQQ0lFX0FUVV9MT1dFUl9CQVNFKTsNCj4gIAlkd19wY2llX3dyaXRl bF9yYyhwcCwgKHBwLT5tZW1fYmFzZSA+PiAzMiksDQo+IFBDSUVfQVRVX1VQUEVSX0JBU0UpOw0K PiAgCWR3X3BjaWVfd3JpdGVsX3JjKHBwLCBwcC0+bWVtX2Jhc2UgKyBwcC0+Y29uZmlnLm1lbV9z aXplIC0gMSwNCj4gQEAgLTU0NSw2ICs1NDQsNyBAQCBzdGF0aWMgdm9pZA0KPiBkd19wY2llX3By b2dfdmlld3BvcnRfbWVtX291dGJvdW5kKHN0cnVjdCBwY2llX3BvcnQgKnBwKQ0KPiAgCWR3X3Bj aWVfd3JpdGVsX3JjKHBwLCBwcC0+Y29uZmlnLm1lbV9idXNfYWRkciwNCj4gUENJRV9BVFVfTE9X RVJfVEFSR0VUKTsNCj4gIAlkd19wY2llX3dyaXRlbF9yYyhwcCwgdXBwZXJfMzJfYml0cyhwcC0+ Y29uZmlnLm1lbV9idXNfYWRkciksDQo+ICAJCQkgIFBDSUVfQVRVX1VQUEVSX1RBUkdFVCk7DQo+ ICsJZHdfcGNpZV93cml0ZWxfcmMocHAsIFBDSUVfQVRVX0VOQUJMRSwgUENJRV9BVFVfQ1IyKTsN Cj4gIH0NCj4gDQo+ICBzdGF0aWMgdm9pZCBkd19wY2llX3Byb2dfdmlld3BvcnRfaW9fb3V0Ym91 bmQoc3RydWN0IHBjaWVfcG9ydCAqcHApIEBADQo+IC01NTMsNyArNTUzLDYgQEAgc3RhdGljIHZv aWQgZHdfcGNpZV9wcm9nX3ZpZXdwb3J0X2lvX291dGJvdW5kKHN0cnVjdA0KPiBwY2llX3BvcnQg KnBwKQ0KPiAgCWR3X3BjaWVfd3JpdGVsX3JjKHBwLCBQQ0lFX0FUVV9SRUdJT05fT1VUQk9VTkQg fA0KPiBQQ0lFX0FUVV9SRUdJT05fSU5ERVgxLA0KPiAgCQkJICBQQ0lFX0FUVV9WSUVXUE9SVCk7 DQo+ICAJZHdfcGNpZV93cml0ZWxfcmMocHAsIFBDSUVfQVRVX1RZUEVfSU8sIFBDSUVfQVRVX0NS MSk7DQo+IC0JZHdfcGNpZV93cml0ZWxfcmMocHAsIFBDSUVfQVRVX0VOQUJMRSwgUENJRV9BVFVf Q1IyKTsNCj4gIAlkd19wY2llX3dyaXRlbF9yYyhwcCwgcHAtPmlvX2Jhc2UsIFBDSUVfQVRVX0xP V0VSX0JBU0UpOw0KPiAgCWR3X3BjaWVfd3JpdGVsX3JjKHBwLCAocHAtPmlvX2Jhc2UgPj4gMzIp LA0KPiBQQ0lFX0FUVV9VUFBFUl9CQVNFKTsNCj4gIAlkd19wY2llX3dyaXRlbF9yYyhwcCwgcHAt PmlvX2Jhc2UgKyBwcC0+Y29uZmlnLmlvX3NpemUgLSAxLCBAQCAtDQo+IDU2MSw2ICs1NjAsNyBA QCBzdGF0aWMgdm9pZCBkd19wY2llX3Byb2dfdmlld3BvcnRfaW9fb3V0Ym91bmQoc3RydWN0DQo+ IHBjaWVfcG9ydCAqcHApDQo+ICAJZHdfcGNpZV93cml0ZWxfcmMocHAsIHBwLT5jb25maWcuaW9f YnVzX2FkZHIsDQo+IFBDSUVfQVRVX0xPV0VSX1RBUkdFVCk7DQo+ICAJZHdfcGNpZV93cml0ZWxf cmMocHAsIHVwcGVyXzMyX2JpdHMocHAtPmNvbmZpZy5pb19idXNfYWRkciksDQo+ICAJCQkgIFBD SUVfQVRVX1VQUEVSX1RBUkdFVCk7DQo+ICsJZHdfcGNpZV93cml0ZWxfcmMocHAsIFBDSUVfQVRV X0VOQUJMRSwgUENJRV9BVFVfQ1IyKTsNCj4gIH0NCj4gDQo+ICBzdGF0aWMgaW50IGR3X3BjaWVf cmRfb3RoZXJfY29uZihzdHJ1Y3QgcGNpZV9wb3J0ICpwcCwgc3RydWN0IHBjaV9idXMgKmJ1cywN Cj4gLS0NCj4gMS43LjAuMQ0KDQo= ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io and mem viewport 2014-02-20 5:22 ` [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io and mem viewport Mohit Kumar 2014-02-20 6:45 ` Mohit KUMAR DCG @ 2014-02-20 11:38 ` Kishon Vijay Abraham I 2014-02-20 11:58 ` Mohit KUMAR DCG 1 sibling, 1 reply; 15+ messages in thread From: Kishon Vijay Abraham I @ 2014-02-20 11:38 UTC (permalink / raw) To: Mohit Kumar, jg1.han Cc: Ajay Khandelwal, Bjorn Helgaas, spear-devel, linux-pci Hi, On Thursday 20 February 2014 10:52 AM, Mohit Kumar wrote: > This patch correct iATU programming for cfg1, io and mem viewport. > Enable ATU only after configuring it. Does this patch actually fixes device enumeration behind a PCIe-pci bridge or this is more of cleaning up the sequence? Thanks Kishon > > Signed-off-by: Mohit Kumar <mohit.kumar@st.com> > Signed-off-by: Ajay Khandelwal <ajay.khandelwal@st.com> > Cc: Jingoo Han <jg1.han@samsung.com> > Cc: Bjorn Helgaas <bhelgass@google.com> > Cc: spear-devel@list.st.com > Cc: linux-pci@vger.kernel.org > --- > drivers/pci/host/pcie-designware.c | 6 +++--- > 1 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/pci/host/pcie-designware.c b/drivers/pci/host/pcie-designware.c > index 391966f..46f4a19 100644 > --- a/drivers/pci/host/pcie-designware.c > +++ b/drivers/pci/host/pcie-designware.c > @@ -522,13 +522,13 @@ static void dw_pcie_prog_viewport_cfg1(struct pcie_port *pp, u32 busdev) > dw_pcie_writel_rc(pp, PCIE_ATU_REGION_OUTBOUND | PCIE_ATU_REGION_INDEX1, > PCIE_ATU_VIEWPORT); > dw_pcie_writel_rc(pp, PCIE_ATU_TYPE_CFG1, PCIE_ATU_CR1); > - dw_pcie_writel_rc(pp, PCIE_ATU_ENABLE, PCIE_ATU_CR2); > dw_pcie_writel_rc(pp, pp->cfg1_base, PCIE_ATU_LOWER_BASE); > dw_pcie_writel_rc(pp, (pp->cfg1_base >> 32), PCIE_ATU_UPPER_BASE); > dw_pcie_writel_rc(pp, pp->cfg1_base + pp->config.cfg1_size - 1, > PCIE_ATU_LIMIT); > dw_pcie_writel_rc(pp, busdev, PCIE_ATU_LOWER_TARGET); > dw_pcie_writel_rc(pp, 0, PCIE_ATU_UPPER_TARGET); > + dw_pcie_writel_rc(pp, PCIE_ATU_ENABLE, PCIE_ATU_CR2); > } > > static void dw_pcie_prog_viewport_mem_outbound(struct pcie_port *pp) > @@ -537,7 +537,6 @@ static void dw_pcie_prog_viewport_mem_outbound(struct pcie_port *pp) > dw_pcie_writel_rc(pp, PCIE_ATU_REGION_OUTBOUND | PCIE_ATU_REGION_INDEX0, > PCIE_ATU_VIEWPORT); > dw_pcie_writel_rc(pp, PCIE_ATU_TYPE_MEM, PCIE_ATU_CR1); > - dw_pcie_writel_rc(pp, PCIE_ATU_ENABLE, PCIE_ATU_CR2); > dw_pcie_writel_rc(pp, pp->mem_base, PCIE_ATU_LOWER_BASE); > dw_pcie_writel_rc(pp, (pp->mem_base >> 32), PCIE_ATU_UPPER_BASE); > dw_pcie_writel_rc(pp, pp->mem_base + pp->config.mem_size - 1, > @@ -545,6 +544,7 @@ static void dw_pcie_prog_viewport_mem_outbound(struct pcie_port *pp) > dw_pcie_writel_rc(pp, pp->config.mem_bus_addr, PCIE_ATU_LOWER_TARGET); > dw_pcie_writel_rc(pp, upper_32_bits(pp->config.mem_bus_addr), > PCIE_ATU_UPPER_TARGET); > + dw_pcie_writel_rc(pp, PCIE_ATU_ENABLE, PCIE_ATU_CR2); > } > > static void dw_pcie_prog_viewport_io_outbound(struct pcie_port *pp) > @@ -553,7 +553,6 @@ static void dw_pcie_prog_viewport_io_outbound(struct pcie_port *pp) > dw_pcie_writel_rc(pp, PCIE_ATU_REGION_OUTBOUND | PCIE_ATU_REGION_INDEX1, > PCIE_ATU_VIEWPORT); > dw_pcie_writel_rc(pp, PCIE_ATU_TYPE_IO, PCIE_ATU_CR1); > - dw_pcie_writel_rc(pp, PCIE_ATU_ENABLE, PCIE_ATU_CR2); > dw_pcie_writel_rc(pp, pp->io_base, PCIE_ATU_LOWER_BASE); > dw_pcie_writel_rc(pp, (pp->io_base >> 32), PCIE_ATU_UPPER_BASE); > dw_pcie_writel_rc(pp, pp->io_base + pp->config.io_size - 1, > @@ -561,6 +560,7 @@ static void dw_pcie_prog_viewport_io_outbound(struct pcie_port *pp) > dw_pcie_writel_rc(pp, pp->config.io_bus_addr, PCIE_ATU_LOWER_TARGET); > dw_pcie_writel_rc(pp, upper_32_bits(pp->config.io_bus_addr), > PCIE_ATU_UPPER_TARGET); > + dw_pcie_writel_rc(pp, PCIE_ATU_ENABLE, PCIE_ATU_CR2); > } > > static int dw_pcie_rd_other_conf(struct pcie_port *pp, struct pci_bus *bus, > ^ permalink raw reply [flat|nested] 15+ messages in thread
* RE: [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io and mem viewport 2014-02-20 11:38 ` Kishon Vijay Abraham I @ 2014-02-20 11:58 ` Mohit KUMAR DCG 2014-02-20 12:13 ` Kishon Vijay Abraham I 0 siblings, 1 reply; 15+ messages in thread From: Mohit KUMAR DCG @ 2014-02-20 11:58 UTC (permalink / raw) To: Kishon Vijay Abraham I, jg1.han@samsung.com Cc: Ajay KHANDELWAL, Bjorn Helgaas, spear-devel, linux-pci@vger.kernel.org SGVsbG8gS2lzaG9uLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEtp c2hvbiBWaWpheSBBYnJhaGFtIEkgW21haWx0bzpraXNob25AdGkuY29tXQ0KPiBTZW50OiBUaHVy c2RheSwgRmVicnVhcnkgMjAsIDIwMTQgNTowOCBQTQ0KPiBUbzogTW9oaXQgS1VNQVIgRENHOyBq ZzEuaGFuQHNhbXN1bmcuY29tDQo+IENjOiBBamF5IEtIQU5ERUxXQUw7IEJqb3JuIEhlbGdhYXM7 IHNwZWFyLWRldmVsOyBsaW51eC0NCj4gcGNpQHZnZXIua2VybmVsLm9yZw0KPiBTdWJqZWN0OiBS ZTogW1BBVENIIDIvMl0gUENJOmRlc2lnbndhcmU6Rml4IGlBVFUgcHJvZ3JhbW1pbmcgZm9yIGNm ZzEsIGlvDQo+IGFuZCBtZW0gdmlld3BvcnQNCj4gDQo+IEhpLA0KPiANCj4gT24gVGh1cnNkYXkg MjAgRmVicnVhcnkgMjAxNCAxMDo1MiBBTSwgTW9oaXQgS3VtYXIgd3JvdGU6DQo+ID4gVGhpcyBw YXRjaCBjb3JyZWN0IGlBVFUgcHJvZ3JhbW1pbmcgZm9yIGNmZzEsIGlvIGFuZCBtZW0gdmlld3Bv cnQuDQo+ID4gRW5hYmxlIEFUVSBvbmx5IGFmdGVyIGNvbmZpZ3VyaW5nIGl0Lg0KPiANCj4gRG9l cyB0aGlzIHBhdGNoIGFjdHVhbGx5IGZpeGVzIGRldmljZSBlbnVtZXJhdGlvbiBiZWhpbmQgYSBQ Q0llLXBjaSBicmlkZ2Ugb3INCj4gdGhpcyBpcyBtb3JlIG9mIGNsZWFuaW5nIHVwIHRoZSBzZXF1 ZW5jZT8NCj4gDQotIFRoaXMgcGF0Y2ggY29ycmVjdHMgQVRVIHByb2dyYW1taW5nIHNlcXVlbmNl LiBJIGFtIG5vdCBhd2FyZSBvZiBhbnkgc3VjaCBpc3N1ZSB3aXRoDQpjdXJyZW50IGRyaXZlci4g UGxzIHNwZWNpZnkgIHdoaWNoIGJyaWRnZSBkbyB5b3UgdXNlIGluIHlvdXIgc2V0dXAgYW5kIHdo YXQgaXMgdGhlIHByb2JsZW0/DQoNClJlZ2FyZHMNCk1vaGl0DQo= ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io and mem viewport 2014-02-20 11:58 ` Mohit KUMAR DCG @ 2014-02-20 12:13 ` Kishon Vijay Abraham I 2014-02-20 13:33 ` Mohit KUMAR DCG 2014-02-21 3:54 ` Pratyush Anand 0 siblings, 2 replies; 15+ messages in thread From: Kishon Vijay Abraham I @ 2014-02-20 12:13 UTC (permalink / raw) To: Mohit KUMAR DCG, jg1.han@samsung.com Cc: Ajay KHANDELWAL, Bjorn Helgaas, spear-devel, linux-pci@vger.kernel.org Hi Mohit, On Thursday 20 February 2014 05:28 PM, Mohit KUMAR DCG wrote: > Hello Kishon, > >> -----Original Message----- >> From: Kishon Vijay Abraham I [mailto:kishon@ti.com] >> Sent: Thursday, February 20, 2014 5:08 PM >> To: Mohit KUMAR DCG; jg1.han@samsung.com >> Cc: Ajay KHANDELWAL; Bjorn Helgaas; spear-devel; linux- >> pci@vger.kernel.org >> Subject: Re: [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io >> and mem viewport >> >> Hi, >> >> On Thursday 20 February 2014 10:52 AM, Mohit Kumar wrote: >>> This patch correct iATU programming for cfg1, io and mem viewport. >>> Enable ATU only after configuring it. >> >> Does this patch actually fixes device enumeration behind a PCIe-pci bridge or >> this is more of cleaning up the sequence? >> > - This patch corrects ATU programming sequence. I am not aware of any such issue with > current driver. Pls specify which bridge do you use in your setup and what is the problem? I tried with card [1], it had a PLX bridge chip. It couldn't read the configuration space of the device connected to the PCIe-PCI bridge. Thanks Kishon [1] -> http://ratetorate.in/products/Wiretech-PCIe%252dto%252dPCI-Bridge-Card. > > Regards > Mohit > ^ permalink raw reply [flat|nested] 15+ messages in thread
* RE: [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io and mem viewport 2014-02-20 12:13 ` Kishon Vijay Abraham I @ 2014-02-20 13:33 ` Mohit KUMAR DCG 2014-02-21 3:54 ` Pratyush Anand 1 sibling, 0 replies; 15+ messages in thread From: Mohit KUMAR DCG @ 2014-02-20 13:33 UTC (permalink / raw) To: Kishon Vijay Abraham I, jg1.han@samsung.com Cc: Ajay KHANDELWAL, Bjorn Helgaas, spear-devel, linux-pci@vger.kernel.org SGVsbG8gS2lzaG9uLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEtp c2hvbiBWaWpheSBBYnJhaGFtIEkgW21haWx0bzpraXNob25AdGkuY29tXQ0KPiBTZW50OiBUaHVy c2RheSwgRmVicnVhcnkgMjAsIDIwMTQgNTo0MyBQTQ0KPiBUbzogTW9oaXQgS1VNQVIgRENHOyBq ZzEuaGFuQHNhbXN1bmcuY29tDQo+IENjOiBBamF5IEtIQU5ERUxXQUw7IEJqb3JuIEhlbGdhYXM7 IHNwZWFyLWRldmVsOyBsaW51eC0NCj4gcGNpQHZnZXIua2VybmVsLm9yZw0KPiBTdWJqZWN0OiBS ZTogW1BBVENIIDIvMl0gUENJOmRlc2lnbndhcmU6Rml4IGlBVFUgcHJvZ3JhbW1pbmcgZm9yIGNm ZzEsIGlvDQo+IGFuZCBtZW0gdmlld3BvcnQNCj4gDQo+IEhpIE1vaGl0LA0KPiANCj4gT24gVGh1 cnNkYXkgMjAgRmVicnVhcnkgMjAxNCAwNToyOCBQTSwgTW9oaXQgS1VNQVIgRENHIHdyb3RlOg0K PiA+IEhlbGxvIEtpc2hvbiwNCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiA+PiBGcm9tOiBLaXNob24gVmlqYXkgQWJyYWhhbSBJIFttYWlsdG86a2lzaG9uQHRpLmNvbV0N Cj4gPj4gU2VudDogVGh1cnNkYXksIEZlYnJ1YXJ5IDIwLCAyMDE0IDU6MDggUE0NCj4gPj4gVG86 IE1vaGl0IEtVTUFSIERDRzsgamcxLmhhbkBzYW1zdW5nLmNvbQ0KPiA+PiBDYzogQWpheSBLSEFO REVMV0FMOyBCam9ybiBIZWxnYWFzOyBzcGVhci1kZXZlbDsgbGludXgtDQo+ID4+IHBjaUB2Z2Vy Lmtlcm5lbC5vcmcNCj4gPj4gU3ViamVjdDogUmU6IFtQQVRDSCAyLzJdIFBDSTpkZXNpZ253YXJl OkZpeCBpQVRVIHByb2dyYW1taW5nIGZvcg0KPiA+PiBjZmcxLCBpbyBhbmQgbWVtIHZpZXdwb3J0 DQo+ID4+DQo+ID4+IEhpLA0KPiA+Pg0KPiA+PiBPbiBUaHVyc2RheSAyMCBGZWJydWFyeSAyMDE0 IDEwOjUyIEFNLCBNb2hpdCBLdW1hciB3cm90ZToNCj4gPj4+IFRoaXMgcGF0Y2ggY29ycmVjdCBp QVRVIHByb2dyYW1taW5nIGZvciBjZmcxLCBpbyBhbmQgbWVtIHZpZXdwb3J0Lg0KPiA+Pj4gRW5h YmxlIEFUVSBvbmx5IGFmdGVyIGNvbmZpZ3VyaW5nIGl0Lg0KPiA+Pg0KPiA+PiBEb2VzIHRoaXMg cGF0Y2ggYWN0dWFsbHkgZml4ZXMgZGV2aWNlIGVudW1lcmF0aW9uIGJlaGluZCBhIFBDSWUtcGNp DQo+ID4+IGJyaWRnZSBvciB0aGlzIGlzIG1vcmUgb2YgY2xlYW5pbmcgdXAgdGhlIHNlcXVlbmNl Pw0KPiA+Pg0KPiA+IC0gVGhpcyBwYXRjaCBjb3JyZWN0cyBBVFUgcHJvZ3JhbW1pbmcgc2VxdWVu Y2UuIEkgYW0gbm90IGF3YXJlIG9mIGFueQ0KPiA+IHN1Y2ggaXNzdWUgd2l0aCBjdXJyZW50IGRy aXZlci4gUGxzIHNwZWNpZnkgIHdoaWNoIGJyaWRnZSBkbyB5b3UgdXNlIGluIHlvdXINCj4gc2V0 dXAgYW5kIHdoYXQgaXMgdGhlIHByb2JsZW0/DQo+IA0KPiBJIHRyaWVkIHdpdGggY2FyZCBbMV0s IGl0IGhhZCBhIFBMWCBicmlkZ2UgY2hpcC4gSXQgY291bGRuJ3QgcmVhZCB0aGUgY29uZmlndXJh dGlvbg0KPiBzcGFjZSBvZiB0aGUgZGV2aWNlIGNvbm5lY3RlZCB0byB0aGUgUENJZS1QQ0kgYnJp ZGdlLg0KPiANCi0gSSBkb27igJl0IGhhdmUgdGhlIG1lbnRpb25lZCBjYXJkIHdpdGggbWUsIGJ1 dCB3ZSBhcmUgc3VjY2Vzc2Z1bGx5IHVzaW5nIExlY3JveSBQVEMgc3dpdGNoDQogYW5kIFNJTDMx MjQtMkNCMzY0IFBDSS1YIGNvbXBhdGlibGUgUkFJRCBjYXJkLg0KDQpNYXkgYmUgSmluZ29vIG9y IG90aGVycyBjYW4gYWxzbyBjb21tZW50IGlmIHRoZXkgYXJlIHVzaW5nIFBDSSBicmlkZ2UgY2Fy ZC4NCg0KVGhhbmtzDQpNb2hpdA0KDQo= ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io and mem viewport 2014-02-20 12:13 ` Kishon Vijay Abraham I 2014-02-20 13:33 ` Mohit KUMAR DCG @ 2014-02-21 3:54 ` Pratyush Anand 1 sibling, 0 replies; 15+ messages in thread From: Pratyush Anand @ 2014-02-21 3:54 UTC (permalink / raw) To: Kishon Vijay Abraham I Cc: Mohit KUMAR DCG, jg1.han@samsung.com, Ajay KHANDELWAL, Bjorn Helgaas, spear-devel, linux-pci@vger.kernel.org On Thu, Feb 20, 2014 at 08:13:08PM +0800, Kishon Vijay Abraham I wrote: > Hi Mohit, > > On Thursday 20 February 2014 05:28 PM, Mohit KUMAR DCG wrote: > > Hello Kishon, > > > >> -----Original Message----- > >> From: Kishon Vijay Abraham I [mailto:kishon@ti.com] > >> Sent: Thursday, February 20, 2014 5:08 PM > >> To: Mohit KUMAR DCG; jg1.han@samsung.com > >> Cc: Ajay KHANDELWAL; Bjorn Helgaas; spear-devel; linux- > >> pci@vger.kernel.org > >> Subject: Re: [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io > >> and mem viewport > >> > >> Hi, > >> > >> On Thursday 20 February 2014 10:52 AM, Mohit Kumar wrote: > >>> This patch correct iATU programming for cfg1, io and mem viewport. > >>> Enable ATU only after configuring it. > >> > >> Does this patch actually fixes device enumeration behind a PCIe-pci bridge or > >> this is more of cleaning up the sequence? > >> > > - This patch corrects ATU programming sequence. I am not aware of any such issue with > > current driver. Pls specify which bridge do you use in your setup and what is the problem? > > I tried with card [1], it had a PLX bridge chip. It couldn't read the > configuration space of the device connected to the PCIe-PCI bridge. So do you see abort while reading config space of device connected to the PCIe-PCI bridge? Do you see "received master abort" bit set in your RC's cfg register after you try to read? Regards Pratyush > > Thanks > Kishon > > [1] -> http://ratetorate.in/products/Wiretech-PCIe%252dto%252dPCI-Bridge-Card. > > > > > Regards > > Mohit > > > ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2014-02-27 4:11 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-02-21 1:31 [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io and mem viewport Jingoo Han 2014-02-21 5:28 ` Kishon Vijay Abraham I 2014-02-26 6:31 ` Ajay Khandelwal 2014-02-26 7:47 ` Kishon Vijay Abraham I 2014-02-26 10:52 ` Pratyush Anand 2014-02-27 1:18 ` Jingoo Han 2014-02-27 1:37 ` Jingoo Han 2014-02-27 4:10 ` Pratyush Anand -- strict thread matches above, loose matches on Subject: below -- 2014-02-20 5:22 [PATCH 1/2] PCI:designware:Fix comment for setting number of lanes Mohit Kumar 2014-02-20 5:22 ` [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io and mem viewport Mohit Kumar 2014-02-20 6:45 ` Mohit KUMAR DCG 2014-02-20 11:38 ` Kishon Vijay Abraham I 2014-02-20 11:58 ` Mohit KUMAR DCG 2014-02-20 12:13 ` Kishon Vijay Abraham I 2014-02-20 13:33 ` Mohit KUMAR DCG 2014-02-21 3:54 ` Pratyush Anand
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).