* Re: [PATCH 1/2] mtd/nand:Fix wrong address read in is_blank()
From: Prabhakar @ 2012-01-04 4:35 UTC (permalink / raw)
To: Scott Wood; +Cc: linux-mtd, linuxppc-dev, Poonam Aggrwal
In-Reply-To: <4F0363E2.6040702@freescale.com>
On Wednesday 04 January 2012 01:54 AM, Scott Wood wrote:
> On 12/28/2011 10:59 PM, Prabhakar Kushwaha wrote:
>> IFC NAND Machine calculates ECC on 512byte sector. Same is taken care in
>> fsl_ifc_run_command() while ECC status verification. Here buffer number is
>> calculated assuming 512byte sector and same is passed to is_blank.
>> However in is_blank() buffer address is calculated using mdt->writesize which is
>> wrong. It should be calculated on basis of ecc sector size.
>>
>> Also, in fsl_ifc_run_command() bufferpage is calculated on the basis of ecc sector
>> size instead of hard coded value.
>>
>> Signed-off-by: Poonam Aggrwal<poonam.aggrwal@freescale.com>
>> Signed-off-by: Prabhakar Kushwaha<prabhakar@freescale.com>
>> ---
>> git://git.kernel.org/pub/scm/linux/kernel/git/galak/powerpc.git (branch next)
>>
>> Tested on P1010RDB
>>
>> drivers/mtd/nand/fsl_ifc_nand.c | 6 ++++--
>> 1 files changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/mtd/nand/fsl_ifc_nand.c b/drivers/mtd/nand/fsl_ifc_nand.c
>> index 8475b88..2df7206 100644
>> --- a/drivers/mtd/nand/fsl_ifc_nand.c
>> +++ b/drivers/mtd/nand/fsl_ifc_nand.c
>> @@ -191,7 +191,9 @@ static int is_blank(struct mtd_info *mtd, unsigned int bufnum)
>> {
>> struct nand_chip *chip = mtd->priv;
>> struct fsl_ifc_mtd *priv = chip->priv;
>> - u8 __iomem *addr = priv->vbase + bufnum * (mtd->writesize * 2);
>> + int bufperpage = mtd->writesize / chip->ecc.size;
>> + u8 __iomem *addr = priv->vbase + bufnum / bufperpage
>> + * (mtd->writesize * 2);
>> u32 __iomem *mainarea = (u32 *)addr;
>> u8 __iomem *oob = addr + mtd->writesize;
>> int i;
> This function should only be checking one ECC block, not the entire
> page. The caller is responsible for passing in the appropriate buffer
> numbers.
>
> I think what the current code needs is for (mtd->writesize * 2) to be
> replaced with chip->ecc.size, and for the calling code to multiply the
> starting bufnum by two.
Got your point :). I will take care in next patch version.
>> @@ -273,7 +275,7 @@ static void fsl_ifc_run_command(struct mtd_info *mtd)
>> dev_err(priv->dev, "NAND Flash Write Protect Error\n");
>>
>> if (nctrl->eccread) {
>> - int bufperpage = mtd->writesize / 512;
>> + int bufperpage = mtd->writesize / chip->ecc.size;
>> int bufnum = (nctrl->page& priv->bufnum_mask) * bufperpage;
>> int bufnum_end = bufnum + bufperpage - 1;
>>
> Currently this driver always sets chip->ecc.size to 512. If we want to
> support other ECC block sizes that future versions of IFC may have, can
> we calculate bufperpage during chip init (similar to bufnum_mask) to
> avoid the runtime division? It's probably not huge overhead compared to
> everything else we do per NAND page transfer, but still...
>
Yes. I agree.
We are working on this in order to support new controller version.
--Prabhakar
^ permalink raw reply
* Re: [PATCH 2/2] mtd/nand: Fix IFC driver to support 2K NAND page
From: Prabhakar @ 2012-01-04 4:58 UTC (permalink / raw)
To: Scott Wood; +Cc: linux-mtd, linuxppc-dev, Poonam Aggrwal
In-Reply-To: <4F035BDF.5070207@freescale.com>
On Wednesday 04 January 2012 01:19 AM, Scott Wood wrote:
> On 12/28/2011 10:59 PM, Prabhakar Kushwaha wrote:
>> 1) OOB area should be updated irrespective of NAND page size. Earlier it was
>> updated only for 512byte NAND page.
>>
>> 2) During OOB update fbcr should be equal to OOB size.
>>
>> Signed-off-by: Poonam Aggrwal<poonam.aggrwal@freescale.com>
>> Signed-off-by: Prabhakar Kushwaha<prabhakar@freescale.com>
>> ---
>> git://git.kernel.org/pub/scm/linux/kernel/git/galak/powerpc.git (branch next)
> The IFC driver hasn't been merged into that tree that I can see.
This patch is created on top of IFC driver patch (already floated in
mailing list). Please find there link:
http://patchwork.ozlabs.org/patch/133315/
http://patchwork.ozlabs.org/patch/133316/
>> Tested on P1010RDB
>>
>> drivers/mtd/nand/fsl_ifc_nand.c | 20 ++++++++------------
>> 1 files changed, 8 insertions(+), 12 deletions(-)
>>
>> diff --git a/drivers/mtd/nand/fsl_ifc_nand.c b/drivers/mtd/nand/fsl_ifc_nand.c
>> index 2df7206..2c02168 100644
>> --- a/drivers/mtd/nand/fsl_ifc_nand.c
>> +++ b/drivers/mtd/nand/fsl_ifc_nand.c
>> @@ -439,20 +439,16 @@ static void fsl_ifc_cmdfunc(struct mtd_info *mtd, unsigned int command,
>> out_be32(&ifc->ifc_nand.nand_fir1,
>> (IFC_FIR_OP_CW1<< IFC_NAND_FIR1_OP5_SHIFT));
>>
>> - if (column>= mtd->writesize) {
>> - /* OOB area --> READOOB */
>> - column -= mtd->writesize;
>> - nand_fcr0 |= NAND_CMD_READOOB<<
>> - IFC_NAND_FCR0_CMD0_SHIFT;
>> - ifc_nand_ctrl->oob = 1;
>> - } else if (column< 256)
>> + if (column< 256)
>> /* First 256 bytes --> READ0 */
>> nand_fcr0 |=
>> NAND_CMD_READ0<< IFC_NAND_FCR0_CMD0_SHIFT;
>> - else
>> - /* Second 256 bytes --> READ1 */
>> - nand_fcr0 |=
>> - NAND_CMD_READ1<< IFC_NAND_FCR0_CMD0_SHIFT;
>> + }
>> +
>> + if (column>= mtd->writesize) {
>> + /* OOB area --> READOOB */
>> + column -= mtd->writesize;
>> + ifc_nand_ctrl->oob = 1;
>> }
> Where is NAND_CMD_READOOB going to be set in the small-page case?
2K NAND flash does not require NAND_CMD_READOOB. So i thought same
should be applied to 512byte NAND. but i am wrong.
Thanks for pointing it out :)
>
> The small-page code should read something like:
>
> if (column>= mtd->writesize) {
> nand_fcr0 |=
> NAND_CMD_READOOB<< IFC_NAND_FCR0_CMD0_SHIFT;
> } else {
> nand_fcr0 |=
> NAND_CMD_READ0<< IFC_NAND_FCR0_CMD0_SHIFT;
> }
>
> It looks like we can get rid of ctrl->column, BTW.
>
I will take care this in next patch release
--Prabhakar
^ permalink raw reply
* RE: Problem in getting shared memory access on P1022RDK
From: Arshad, Farrukh @ 2012-01-04 6:49 UTC (permalink / raw)
To: Scott Wood; +Cc: linuxppc-dev@lists.ozlabs.org
In-Reply-To: <4F033685.6000509@freescale.com>
How can I verify if the memory mapped is coherent on both cores. My memory =
partitioning is given below
Core Base Address Size
Core 0 0x0000,0000 0x1000,0000 --> CONFIG_PHYSICAL_START =3D bootm_low =
=3D Base Address
Core 1 0x1000,0000 0x0C00,0000 --> CONFIG_PHYSICAL_START =3D bootm_low =
=3D Base Address
Shared Mem 0x1C00,0000 0x0400,0000
Regards,
Farrukh Arshad
-----Original Message-----
From: Scott Wood [mailto:scottwood@freescale.com]=20
Sent: Tuesday, January 03, 2012 10:10 PM
To: Arshad, Farrukh
Cc: linuxppc-dev@lists.ozlabs.org
Subject: Re: Problem in getting shared memory access on P1022RDK
On 01/03/2012 03:42 AM, Arshad, Farrukh wrote:
> Adding more to it,
>=20
> =20
>=20
> When I write from Core 1 on the shared memory region it is visible at=20
> Core 0 and it can read what I have written from Core 1 but when I=20
> write from Core 0 on this shared memory it is not visible on Core 1.
Is the memory mapped coherent on both cores?
-Scott
^ permalink raw reply
* Re: linux-next: build warnings after merge of the final tree
From: Stephen Rothwell @ 2012-01-04 8:06 UTC (permalink / raw)
To: H. Peter Anvin
Cc: Peter Zijlstra, linux-kernel, Steven Rostedt, linux-next,
Paul Mackerras, Thomas Gleixner, linuxppc-dev, Ingo Molnar
In-Reply-To: <20111222163304.26be6d0f5e514fefb078c0a6@canb.auug.org.au>
[-- Attachment #1: Type: text/plain, Size: 942 bytes --]
Hi again,
On Thu, 22 Dec 2011 16:33:04 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> On Wed, 14 Dec 2011 08:47:01 -0800 "H. Peter Anvin" <hpa@zytor.com> wrote:
> >
> > On 12/14/2011 08:32 AM, Steven Rostedt wrote:
> > > On Wed, 2011-12-14 at 18:15 +1100, Stephen Rothwell wrote:
> > >
> > >> Maybe caused by commit d5e553d6e0a4 ("trace: Include <asm/asm-offsets.h>
> > >> in trace_syscalls.c") from the tip tree. These warnings may have been
> > >> here for a while as it is hard to catch the new ones among the flood.
> > >>
> > >
> > > hpa,
> > >
> > > Was this change only needed for x86? If so, could you put that into
> > > asm/ftrace.h instead?
> >
> > Yes (on both accounts). It was part of the syscall changes; I'll move
> > the include.
>
> Ping?
Can we please have this fixed ...
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* Re: linux-next: build warnings after merge of the final tree
From: hpanvin@gmail.com @ 2012-01-04 9:23 UTC (permalink / raw)
To: Stephen Rothwell
Cc: Peter Zijlstra, linux-kernel, Steven Rostedt, linux-next,
Paul Mackerras, Thomas Gleixner, linuxppc-dev, Ingo Molnar
In-Reply-To: <20120104190613.2e76daaa000ccf61121fdcc1@canb.auug.org.au>
I thought it had been...? Need to investigate (as baby permits...)
Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>Hi again,
>
>On Thu, 22 Dec 2011 16:33:04 +1100 Stephen Rothwell
><sfr@canb.auug.org.au> wrote:
>>
>> On Wed, 14 Dec 2011 08:47:01 -0800 "H. Peter Anvin" <hpa@zytor.com>
>wrote:
>> >
>> > On 12/14/2011 08:32 AM, Steven Rostedt wrote:
>> > > On Wed, 2011-12-14 at 18:15 +1100, Stephen Rothwell wrote:
>> > >
>> > >> Maybe caused by commit d5e553d6e0a4 ("trace: Include
><asm/asm-offsets.h>
>> > >> in trace_syscalls.c") from the tip tree. These warnings may
>have been
>> > >> here for a while as it is hard to catch the new ones among the
>flood.
>> > >>
>> > >
>> > > hpa,
>> > >
>> > > Was this change only needed for x86? If so, could you put that
>into
>> > > asm/ftrace.h instead?
>> >
>> > Yes (on both accounts). It was part of the syscall changes; I'll
>move
>> > the include.
>>
>> Ping?
>
>Can we please have this fixed ...
>--
>Cheers,
>Stephen Rothwell sfr@canb.auug.org.au
>http://www.canb.auug.org.au/~sfr/
--
Sent from my Android phone with K-9 Mail. Please excuse my brevity.
^ permalink raw reply
* RE: [PATCH v3] powerpc/85xx: add support to JOG feature using cpufreq interface
From: Zhao Chenhui-B35336 @ 2012-01-04 9:34 UTC (permalink / raw)
To: Wood Scott-B07421
Cc: Huang Changming-R66093, Liu Dave-R63238,
linuxppc-dev@lists.ozlabs.org, Li Yang-R58472
In-Reply-To: <4F037DB8.4080207@freescale.com>
PiBPbiAxMi8yNy8yMDExIDA1OjI1IEFNLCBaaGFvIENoZW5odWkgd3JvdGU6DQo+ID4gICogVGhl
IGRyaXZlciBkb2Vzbid0IHN1cHBvcnQgTVBDODUzNiBSZXYgMS4wIGR1ZSB0byBhIEpPRyBlcnJh
dHVtLg0KPiA+ICAgIFN1YnNlcXVlbnQgcmV2aXNpb25zIG9mIE1QQzg1MzYgaGF2ZSBjb3JyZWN0
ZWQgdGhlIGVycmF0dW0uDQo+IA0KPiBXaGVyZSBkbyB5b3UgY2hlY2sgZm9yIHRoaXM/DQoNCk5v
d2hlcmUuIEkganVzdCBub3RpZnkgdGhpcyBwYXRjaCBkb24ndCBzdXBwb3J0IE1QQzg1MzYgUmV2
IDEuMC4NCg0KPiANCj4gPiArI2RlZmluZSBQT1dNR1RDU1JfTE9TU0xFU1NfTUFTSwkweDAwNDAw
MDAwDQo+ID4gKyNkZWZpbmUgUE9XTUdUQ1NSX0pPR19NQVNLCTB4MDAyMDAwMDANCj4gDQo+IEFy
ZSB0aGVzZSByZWFsbHkgbWFza3MsIG9yIGp1c3QgdmFsdWVzIHRvIHVzZT8NCg0KVGhleSBhcmUg
bWFza3MuDQoNCj4gDQo+ID4gKyNkZWZpbmUgUE9XTUdUQ1NSX0NPUkUwX0lSUV9NU0sJMHg4MDAw
MDAwMA0KPiA+ICsjZGVmaW5lIFBPV01HVENTUl9DT1JFMF9DSV9NU0sJMHg0MDAwMDAwMA0KPiA+
ICsjZGVmaW5lIFBPV01HVENTUl9DT1JFMF9ET1pJTkcJMHgwMDAwMDAwOA0KPiA+ICsjZGVmaW5l
IFBPV01HVENTUl9DT1JFMF9OQVBQSU5HCTB4MDAwMDAwMDQNCj4gPiArDQo+ID4gKyNkZWZpbmUg
UE9XTUdUQ1NSX0NPUkVfSU5UX01TSwkweDAwMDAwODAwDQo+ID4gKyNkZWZpbmUgUE9XTUdUQ1NS
X0NPUkVfQ0lOVF9NU0sJMHgwMDAwMDQwMA0KPiA+ICsjZGVmaW5lIFBPV01HVENTUl9DT1JFX1VE
RV9NU0sJMHgwMDAwMDIwMA0KPiA+ICsjZGVmaW5lIFBPV01HVENTUl9DT1JFX01DUF9NU0sJMHgw
MDAwMDEwMA0KPiA+ICsjZGVmaW5lIFAxMDIyX1BPV01HVENTUl9NU0sJKFBPV01HVENTUl9DT1JF
X0lOVF9NU0sgfCBcDQo+ID4gKwkJCQkgUE9XTUdUQ1NSX0NPUkVfQ0lOVF9NU0sgfCBcDQo+ID4g
KwkJCQkgUE9XTUdUQ1NSX0NPUkVfVURFX01TSyB8IFwNCj4gPiArCQkJCSBQT1dNR1RDU1JfQ09S
RV9NQ1BfTVNLKQ0KPiA+ICsNCj4gPiArc3RhdGljIHZvaWQga2VlcF93YWtpbmdfdXAodm9pZCAq
ZHVtbXkpDQo+ID4gK3sNCj4gPiArCXVuc2lnbmVkIGxvbmcgZmxhZ3M7DQo+ID4gKw0KPiA+ICsJ
bG9jYWxfaXJxX3NhdmUoZmxhZ3MpOw0KPiA+ICsJbWIoKTsNCj4gPiArDQo+ID4gKwlpbl9qb2df
cHJvY2VzcyA9IDE7DQo+ID4gKwltYigpOw0KPiA+ICsNCj4gPiArCXdoaWxlIChpbl9qb2dfcHJv
Y2VzcyAhPSAwKQ0KPiA+ICsJCW1iKCk7DQo+ID4gKw0KPiA+ICsJbG9jYWxfaXJxX3Jlc3RvcmUo
ZmxhZ3MpOw0KPiA+ICt9DQo+IA0KPiBQbGVhc2UgZG9jdW1lbnQgdGhpcy4gIENvbXBhcmUgaW5f
am9nX3Byb2Nlc3MgPT0gMSwgbm90ICE9IDAgLS0gaXQncw0KPiB1bmxpa2VseSwgYnV0IHdoYXQg
aWYgdGhlIG90aGVyIGNwdSBzZWVzIHRoYXQgaW5fam9nX3Byb2Nlc3MgaGFzIGJlZW4NCj4gc2V0
IHRvIDEsIGV4aXRzIGFuZCBzZXRzIGluX2pvZ19wcm9jZXNzIHRvIDAsIHRoZW4gcmUtZW50ZXJz
IHNldF9wbGwgYW5kDQo+IHNldHMgaW5fam9nX3Byb2Nlc3MgdG8gLTEgYWdhaW4gYmVmb3JlIHRo
aXMgZnVuY3Rpb24gZG9lcyBhbm90aGVyIGxvYWQNCj4gb2YgaW5fam9nX3Byb2Nlc3M/DQoNClRo
YW5rcy4gSSdsbCBmaXggaXQuDQoNCj4gDQo+IERvIHlvdSByZWFsbHkgbmVlZCBhbGwgdGhlc2Ug
bWIoKXM/ICBJIHRoaW5rIHRoaXMgd291bGQgc3VmZmljZToNCj4gDQo+IAlsb2NhbF9pcnFfc2F2
ZShmbGFncyk7DQo+IA0KPiAJaW5fam9nX3Byb2Nlc3MgPSAxOw0KPiANCj4gCXdoaWxlIChpbl9q
b2dfcHJvY2VzcyA9PSAxKQ0KPiAJCWJhcnJpZXIoKTsNCj4gDQo+IAlsb2NhbF9pcnFfcmVzdG9y
ZSgpOw0KPiANCj4gSXQncyBub3QgcmVhbGx5IGEgcGVyZm9ybWFuY2UgaXNzdWUsIGp1c3Qgc2lt
cGxpY2l0eS4NCj4gDQo+ID4gK3N0YXRpYyBpbnQgcDEwMjJfc2V0X3BsbCh1bnNpZ25lZCBpbnQg
Y3B1LCB1bnNpZ25lZCBpbnQgcGxsKQ0KPiA+ICt7DQo+ID4gKwlpbnQgaW5kZXgsIGh3X2NwdSA9
IGdldF9oYXJkX3NtcF9wcm9jZXNzb3JfaWQoY3B1KTsNCj4gPiArCWludCBzaGlmdDsNCj4gPiAr
CXUzMiBjb3JlZnJlcSwgdmFsLCBtYXNrID0gMDsNCj4gPiArCXVuc2lnbmVkIGludCBjdXJfcGxs
ID0gZ2V0X3BsbChod19jcHUpOw0KPiA+ICsJdW5zaWduZWQgbG9uZyBmbGFnczsNCj4gPiArCWlu
dCByZXQgPSAwOw0KPiA+ICsNCj4gPiArCWlmIChwbGwgPT0gY3VyX3BsbCkNCj4gPiArCQlyZXR1
cm4gMDsNCj4gPiArDQo+ID4gKwlzaGlmdCA9IGh3X2NwdSAqIENPUkVfUkFUSU9fQklUUyArIENP
UkUwX1JBVElPX1NISUZUOw0KPiA+ICsJdmFsID0gKHBsbCAmIENPUkVfUkFUSU9fTUFTSykgPDwg
c2hpZnQ7DQo+ID4gKw0KPiA+ICsJY29yZWZyZXEgPSBzeXNmcmVxICogcGxsIC8gMjsNCj4gPiAr
CS8qDQo+ID4gKwkgKiBTZXQgdGhlIENPUkV4X1NQRCBiaXQgaWYgdGhlIHJlcXVlc3RlZCBjb3Jl
IGZyZXF1ZW5jeQ0KPiA+ICsJICogaXMgbGFyZ2VyIHRoYW4gdGhlIHRocmVzaG9sZCBmcmVxdWVu
Y3kuDQo+ID4gKwkgKi8NCj4gPiArCWlmIChjb3JlZnJlcSA+IEZSRVFfNTMzTUh6KQ0KPiA+ICsJ
CXZhbCB8PSBQTUpDUl9DT1JFMF9TUERfTUFTSyA8PCBod19jcHU7DQo+IA0KPiBQMTAyMiBtYW51
YWwgc2F5cyB0aGUgdGhyZXNob2xkIGlzIDUwMCBNSHogKGJ1dCBkb2Vzbid0IHNheSBob3cgdG8g
c2V0DQo+IHRoZSBiaXQgaWYgdGhlIGZyZXF1ZW5jeSBpcyBleGFjdGx5IDUwMCBNSHopLiAgV2hl
cmUgZGlkIDUzMzM0MDAwMCBjb21lDQo+IGZyb20/DQoNClBsZWFzZSByZWZlciB0byBDaGFwdGVy
IDI1ICIyNS40LjEuMTEgUG93ZXIgTWFuYWdlbWVudCBKb2cgQ29udHJvbCBSZWdpc3RlciAoUE1K
Q1IpIi4NCg0KPiANCj4gPiArDQo+ID4gKwltYXNrID0gKENPUkVfUkFUSU9fTUFTSyA8PCBzaGlm
dCkgfCAoUE1KQ1JfQ09SRTBfU1BEX01BU0sgPDwNCj4gaHdfY3B1KTsNCj4gPiArCWNscnNldGJp
dHNfYmUzMihndXRzICsgUE1KQ1IsIG1hc2ssIHZhbCk7DQo+ID4gKw0KPiA+ICsJLyogcmVhZGJh
Y2sgdG8gc3luYyB3cml0ZSAqLw0KPiA+ICsJdmFsID0gaW5fYmUzMihndXRzICsgUE1KQ1IpOw0K
PiANCj4gWW91IGRvbid0IHVzZSB2YWwgYWZ0ZXIgdGhpcyAtLSBqdXN0IGlnbm9yZSB0aGUgcmV0
dXJuIHZhbHVlIGZyb20NCj4gaW5fYmUzMigpLg0KDQpPSy4NCg0KPiANCj4gPiArCS8qDQo+ID4g
KwkgKiBBIEpvZyByZXF1ZXN0IGNhbiBub3QgYmUgYXNzZXJ0ZWQgd2hlbiBhbnkgY29yZSBpcyBp
biBhIGxvdw0KPiA+ICsJICogcG93ZXIgc3RhdGUgb24gUDEwMjIuIEJlZm9yZSBleGVjdXRpbmcg
YSBqb2cgcmVxdWVzdCwgYW55DQo+ID4gKwkgKiBjb3JlIHdoaWNoIGlzIGluIGEgbG93IHBvd2Vy
IHN0YXRlIG11c3QgYmUgd2FrZWQgYnkgYQ0KPiA+ICsJICogaW50ZXJydXB0LCBhbmQga2VlcCB3
YWtpbmcgdXAgdW50aWwgdGhlIHNlcXVlbmNlIGlzDQo+ID4gKwkgKiBmaW5pc2hlZC4NCj4gPiAr
CSAqLw0KPiA+ICsJZm9yX2VhY2hfcHJlc2VudF9jcHUoaW5kZXgpIHsNCj4gPiArCQlpZiAoIWNw
dV9vbmxpbmUoaW5kZXgpKQ0KPiA+ICsJCQlyZXR1cm4gLUVGQVVMVDsNCj4gPiArCX0NCj4gDQo+
IEVGQVVMVCBpcyBub3QgdGhlIGFwcHJvcHJpYXRlIGVycm9yIGNvZGUgLS0gaXQgaXMgZm9yIHdo
ZW4gdXNlcnNwYWNlDQo+IHBhc3NlcyBhIGJhZCB2aXJ0dWFsIGFkZHJlc3MuDQo+IA0KPiBCZXR0
ZXIsIGRvbid0IGZhaWwgaGVyZSAtLSBicmluZyB0aGUgb3RoZXIgY29yZSBvdXQgb2YgdGhlIGxv
dyBwb3dlcg0KPiBzdGF0ZSBpbiBvcmRlciB0byBkbyB0aGUgam9nLiAgY3B1ZnJlcSBzaG91bGRu
J3Qgc3RvcCB3b3JraW5nIGp1c3QNCj4gYmVjYXVzZSB3ZSB0b29rIGEgY29yZSBvZmZsaW5lLg0K
PiANCj4gV2hhdCBwcmV2ZW50cyBhIGNvcmUgZnJvbSBnb2luZyBvZmZsaW5lIGp1c3QgYWZ0ZXIg
eW91IGNoZWNrIGhlcmU/DQo+IA0KPiA+ICsJaW5fam9nX3Byb2Nlc3MgPSAtMTsNCj4gPiArCW1i
KCk7DQo+ID4gKwlzbXBfY2FsbF9mdW5jdGlvbihrZWVwX3dha2luZ191cCwgTlVMTCwgMCk7DQo+
IA0KPiBXaGF0IGRvZXMgImtlZXAgd2FraW5nIHVwIiBtZWFuPyAgU29tZXRoaW5nIGxpa2Ugc3Bp
bl93aGlsZV9qb2dnaW5nDQo+IG1pZ2h0IGJlIGNsZWFyZXIuDQo+IA0KPiA+ICsJbG9jYWxfaXJx
X3NhdmUoZmxhZ3MpOw0KPiA+ICsJbWIoKTsNCj4gPiArCS8qIFdhaXQgZm9yIHRoZSBvdGhlciBj
b3JlIHRvIHdha2UuICovDQo+ID4gKwl3aGlsZSAoaW5fam9nX3Byb2Nlc3MgIT0gMSkNCj4gPiAr
CQltYigpOw0KPiANCj4gVGltZW91dD8gIEFuZCBtb3JlIHVubmVjZXNzYXJ5IG1iKClzLg0KPiAN
Cj4gTWlnaHQgYmUgbmljZSB0byBzdXBwb3J0IG1vcmUgdGhhbiB0d28gY29yZXMsIGV2ZW4gaWYg
dGhpcyBjb2RlIGlzbid0DQo+IGN1cnJlbnRseSBleHBlY3RlZCB0byBiZSB1c2VkIG9uIHN1Y2gg
aGFyZHdhcmUgKGl0J3MganVzdCBhIGdlbmVyaWMNCj4gImhvbGQgb3RoZXIgY3B1cyIgbG9vcDsg
bWlnaHQgYXMgd2VsbCBtYWtlIGl0IHJldXNhYmxlKS4gIFlvdSBjb3VsZCBkbw0KPiB0aGlzIGJ5
IHVzaW5nIGFuIGF0b21pYyBjb3VudCBmb3Igb3RoZXIgY29yZXMgdG8gY2hlY2sgaW4gYW5kIG91
dCBvZiB0aGUNCj4gc3BpbiBsb29wLg0KDQpUaGlzIGlzIGp1c3QgZm9yIFAxMDIyLCBhIGR1YWwt
Y29yZSBjaGlwLiBBIHNlcGFyYXRlIHBhdGNoIHdpbGwNCnN1cHBvcnQgbXVsdGktY29yZSBjaGlw
cywgc3VjaCBhcyBQNDA4MCwgZXRjLg0KDQo+IA0KPiA+ICsJb3V0X2JlMzIoZ3V0cyArIFBPV01H
VENTUiwgUE9XTUdUQ1NSX0pPR19NQVNLIHwNCj4gUDEwMjJfUE9XTUdUQ1NSX01TSyk7DQo+ID4g
Kw0KPiA+ICsJaWYgKCFzcGluX2V2ZW50X3RpbWVvdXQoKChpbl9iZTMyKGd1dHMgKyBQT1dNR1RD
U1IpICYNCj4gPiArCSAgICBQT1dNR1RDU1JfSk9HX01BU0spID09IDApLCAxMDAwMCwgMTApKSB7
DQo+ID4gKwkJcHJfZXJyKCIlczogRmFpbCB0byBzd2l0Y2ggdGhlIGNvcmUgZnJlcXVlbmN5Llxu
IiwgX19mdW5jX18pOw0KPiA+ICsJCXJldCA9IC1FRkFVTFQ7DQo+ID4gKwl9DQo+ID4gKw0KPiA+
ICsJY2xyYml0czMyKGd1dHMgKyBQT1dNR1RDU1IsIFAxMDIyX1BPV01HVENTUl9NU0spOw0KPiA+
ICsJaW5fam9nX3Byb2Nlc3MgPSAwOw0KPiA+ICsJbWIoKTsNCj4gDQo+IFRoaXMgbWIoKSAob3Ig
YmV0dGVyLCBhIHJlYWRiYWNrIG9mIFBPV01HVENTUikgc2hvdWxkIGJlIGJlZm9yZSB5b3UNCj4g
Y2xlYXIgaW5fam9nX3Byb2Nlc3MuICBGb3IgY2xhcml0eSBvZiBpdHMgcHVycG9zZSwgdGhlIGNs
ZWFyaW5nIG9mDQo+IFBPV01HVENTUiBzaG91bGQgZ28gaW4gdGhlIGZhaWx1cmUgYnJhbmNoIG9m
IHNwaW5fZXZlbnRfdGltZW91dCgpLg0KDQpBY2NvcmRpbmcgdG8gdGhlIG1hbnVhbCwgUDEwMjJf
UE9XTUdUQ1NSX01TSyBzaG91bGQgYmUgcmVzZXQNCmJ5IHNvZnR3YXJlIHJlZ2FyZGxlc3Mgb2Yg
ZmFpbHVyZSBvciBzdWNjZXNzLg0KDQotY2hlbmh1aQ0K
^ permalink raw reply
* RE: Problem in getting shared memory access on P1022RDK
From: Arshad, Farrukh @ 2012-01-04 9:56 UTC (permalink / raw)
To: Scott Wood; +Cc: linuxppc-dev@lists.ozlabs.org
In-Reply-To: <4F033685.6000509@freescale.com>
Some of the other things which I am experiencing which may help to trace th=
is issue.=20
1: For Core 0 printk is not working in setup_arch "just before call to pagi=
ng_init", where as on Core 1 printk is working in the same function. I see =
the source uses ppc_md.progress to display debug messages so it seems print=
k will not work then why it is working on Core 1.=20
2: During kernel boot of both cores boot messages of Core 0 are mixed in Co=
re 1 messages.=20
3: If I change memory partitioning to following, then on Core 1 when I mmap=
shared memory area (starting 0x0C00,0000) I receive error that can not mma=
p RAM. If my both systems memory partitions are defined clearly then this a=
rea does not belong to system RAM then I shouldn't receive this error in th=
is memory partitioning.
Core Base Address Size
Core 0 0x0000,0000 0x0C00,0000 --> CONFIG_PHYSICAL_START =3D bootm_low =
=3D Base Address
Shared Mem 0x0C00,0000 0x0400,0000
Core 1 0x1000,0000 0x1000,0000 --> CONFIG_PHYSICAL_START =3D bootm_low =
=3D Base Address
I believe there is some bug / or patch which I am missing in both kernels m=
emory initialization which is causing all these issues. Kernel sources / co=
nfiguration of both cores are 100% same except (CONFIG_PHYSICAL_START) para=
m and kernel version is 2.6.32.13.=20
Any thoughts.
Regards,
Farrukh Arshad
-----Original Message-----
From: Arshad, Farrukh=20
Sent: Wednesday, January 04, 2012 11:50 AM
To: 'Scott Wood'
Cc: linuxppc-dev@lists.ozlabs.org
Subject: RE: Problem in getting shared memory access on P1022RDK
How can I verify if the memory mapped is coherent on both cores. My memory =
partitioning is given below
Core Base Address Size
Core 0 0x0000,0000 0x1000,0000 --> CONFIG_PHYSICAL_START =3D bootm_low =
=3D Base Address
Core 1 0x1000,0000 0x0C00,0000 --> CONFIG_PHYSICAL_START =3D bootm_low =
=3D Base Address
Shared Mem 0x1C00,0000 0x0400,0000
Regards,
Farrukh Arshad
-----Original Message-----
From: Scott Wood [mailto:scottwood@freescale.com]
Sent: Tuesday, January 03, 2012 10:10 PM
To: Arshad, Farrukh
Cc: linuxppc-dev@lists.ozlabs.org
Subject: Re: Problem in getting shared memory access on P1022RDK
On 01/03/2012 03:42 AM, Arshad, Farrukh wrote:
> Adding more to it,
>=20
> =20
>=20
> When I write from Core 1 on the shared memory region it is visible at=20
> Core 0 and it can read what I have written from Core 1 but when I=20
> write from Core 0 on this shared memory it is not visible on Core 1.
Is the memory mapped coherent on both cores?
-Scott
^ permalink raw reply
* Cannot wake-up from standby with MPC8313
From: Norbert van Bolhuis @ 2012-01-04 16:19 UTC (permalink / raw)
To: linuxppc-dev@ozlabs.org
after entering:
echo standby > /sys/power/state
I'm unable to wake up the MPC8313 (on our custom designed
MPC8313 board).
I need it to wake up through GPIO IRQ.
I cause multiple GPIO interrupts (all properly handled by an isr),
but the MPC8313 does not wake up.
How should one wake up via GPGIO IRQ ?
I'm using v2.6.29 and I wonder whether this is related to
our custom 8313 board and/or v2.6.29 and/or missing kernel
patches or maybe this never worked ?
Also, I do not understand line 220 of arch/powerpc/platforms/83xx/suspend.c
219 } else {
220 out_be32(&pmc_regs->mask, PMCER_PMCI);
221
222 mpc6xx_enter_standby();
How can wake up ever work if TSEC/GPIO/TIMER/etc.. wake up events
are disabled ?
changing this into "out_be32(&pmc_regs->mask, PMCER_PMCI|PMCER_GPIO);"
gives same result.
MPC8313 is in PCI HOST mode and here's a relevant part
of the DTS:
pmc: power@b00 {
compatible = "fsl,mpc8313-pmc", "fsl,mpc8349-pmc";
reg = <0xb00 0x100 0xa00 0x100>;
interrupts = <80 8>;
interrupt-parent = <&ipic>;
fsl,mpc8313-wakeup-timer = <>m1>;
/* Remove this (or change to "okay") if you have
* a REVA3 or later board, if you apply one of the
* workarounds listed in section 8.5 of the board
* manual, o if you are adapting this device treeSE=
* to a different board.
*/
status = "okay";
};
gtm1: timer@500 {
compatible = "fsl,mpc8313-gtm", "fsl,gtm";
reg = <0x500 0x100>;
interrupts = <90 8 78 8 84 8 72 8>;
interrupt-parent = <&ipic>;
};
Any help/advice/answer is more than welcome.
---
NvBolhuis
^ permalink raw reply
* Re: [PATCH] DTS: fix the bug and add the chip compatible for eSDHC
From: Scott Wood @ 2012-01-04 17:37 UTC (permalink / raw)
To: Huang Changming-R66093; +Cc: Wood Scott-B07421, linuxppc-dev@lists.ozlabs.org
In-Reply-To: <8A2FC72B45BB5A4C9F801431E06AE48F1165E56C@039-SN1MPN1-005.039d.mgd.msft.net>
On 01/03/2012 09:11 PM, Huang Changming-R66093 wrote:
>
>
>> -----Original Message-----
>> From: Wood Scott-B07421
>> Sent: Tuesday, January 03, 2012 2:28 AM
>> To: Huang Changming-R66093
>> Cc: linuxppc-dev@lists.ozlabs.org; Huang Changming-R66093
>> Subject: Re: [PATCH] DTS: fix the bug and add the chip compatible for
>> eSDHC
>>
>> On 12/23/2011 12:10 AM, r66093@freescale.com wrote:
>>> From: Jerry Huang <Chang-Ming.Huang@freescale.com>
>>>
>>> Accordint to latest kernel, the auto-cmd12 property should be
>>> "sdhci,auto-cmd12", and according to the SDHC binding and the
>>> workaround for the special chip, add the chip compatible for eSDHC:
>>> "fsl,p1022-esdhc", "fsl,mpc8536-esdhc", "fsl,p2020-esdhc" and
>> "fsl,p1010-esdhc".
>>>
>>> Signed-off-by: Jerry Huang <Chang-Ming.Huang@freescale.com>
>>> ---
>>> arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi | 4 ++++
>>> arch/powerpc/boot/dts/fsl/p1010si-post.dtsi | 3 ++-
>>> arch/powerpc/boot/dts/fsl/p1022si-post.dtsi | 3 ++-
>>> arch/powerpc/boot/dts/fsl/p2020si-post.dtsi | 4 ++++
>>> 4 files changed, 12 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi
>>> b/arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi
>>> index 89af626..44e0ed9 100644
>>> --- a/arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi
>>> +++ b/arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi
>>> @@ -236,6 +236,10 @@
>>> };
>>>
>>> /include/ "pq3-esdhc-0.dtsi"
>>> + sdhc@2e000 {
>>> + compatible = "fsl,esdhc", "fsl,mpc8536-esdhc";
>>> + };
>>
>> More-specific compatible entries should come first.
>
> I don't understand you, why more-specific compatible entries should come?
Because the binding says so, as do ePAPR and the IEEE1275 generic names
recommendation. It is relied on by some OS driver binding mechanisms to
resolve ambiguity in the event that drivers are present for both strings.
> The Documentation/devicetree/bindings/mmc/fsl-esdhc.txt has introduced it:
> - compatible : should be
> "fsl,<chip>-esdhc", "fsl,esdhc"
> I don't think I should introduce new entries.
>
I'm not asking you to introduce a new entry. I'm asking you to reverse
them as the above text specifies:
compatible = "fsl,mpc8536-esdhc", "fsl,esdhc";
not:
compatible = "fsl,esdhc", "fsl,mpc8536-esdhc";
-Scott
^ permalink raw reply
* Re: [PATCH] DTS: fix the bug and add the chip compatible for eSDHC
From: Scott Wood @ 2012-01-04 19:19 UTC (permalink / raw)
To: Huang Changming-R66093; +Cc: linuxppc-dev@lists.ozlabs.org, Tabi Timur-B04825
In-Reply-To: <8A2FC72B45BB5A4C9F801431E06AE48F1165E585@039-SN1MPN1-005.039d.mgd.msft.net>
On 01/03/2012 09:14 PM, Huang Changming-R66093 wrote:
>
>
>> -----Original Message-----
>> From: Tabi Timur-B04825
>> Sent: Tuesday, January 03, 2012 4:30 AM
>> To: Huang Changming-R66093
>> Cc: linuxppc-dev@lists.ozlabs.org; Huang Changming-R66093
>> Subject: Re: [PATCH] DTS: fix the bug and add the chip compatible for
>> eSDHC
>>
>> On Fri, Dec 23, 2011 at 12:10 AM, <r66093@freescale.com> wrote:
>>>
>>> Accordint to latest kernel, the auto-cmd12 property should be
>>> "sdhci,auto-cmd12", and according to the SDHC binding and the
>>> workaround for the special chip, add the chip compatible for eSDHC:
>>> "fsl,p1022-esdhc", "fsl,mpc8536-esdhc", "fsl,p2020-esdhc" and
>> "fsl,p1010-esdhc".
>>
>> Please do not use the phrase "fix the bug" in patch summaries.
>>
> Then, could you tell me how to describe it?
The subject line should be something like:
powerpc/fsl: esdhc node fixes
Phrases like "Fix the bug" or "fix the issue" could apply to lots of
patches and don't really add anything, especially in the subject line
where there isn't much space and you want to clearly and concisely
identify what this patch is about.
-Scott
^ permalink raw reply
* Re: [PATCH v3] powerpc/85xx: add support to JOG feature using cpufreq interface
From: Scott Wood @ 2012-01-04 20:41 UTC (permalink / raw)
To: Zhao Chenhui-B35336
Cc: Wood Scott-B07421, Huang Changming-R66093, Liu Dave-R63238,
linuxppc-dev@lists.ozlabs.org, Li Yang-R58472
In-Reply-To: <BD213C8CF658C24091429A9C376C468D0C6268@039-SN1MPN1-005.039d.mgd.msft.net>
On 01/04/2012 03:34 AM, Zhao Chenhui-B35336 wrote:
>> On 12/27/2011 05:25 AM, Zhao Chenhui wrote:
>>> * The driver doesn't support MPC8536 Rev 1.0 due to a JOG erratum.
>>> Subsequent revisions of MPC8536 have corrected the erratum.
>>
>> Where do you check for this?
>=20
> Nowhere. I just notify this patch don't support MPC8536 Rev 1.0.
Is mpc8536 rev 1.0 supported by the kernel in general? If so, and this
code doesn't work with it, it needs to check for that revision and not
register the cpufreq handler if found.
>>> +#define POWMGTCSR_LOSSLESS_MASK 0x00400000
>>> +#define POWMGTCSR_JOG_MASK 0x00200000
>>
>> Are these really masks, or just values to use?
>=20
> They are masks.
They're bits. Sometimes you use it additively, to set this bit along
with others. Sometimes you use it subtractively, to test whether the
bit has cleared -- you could argue that it's used as a mask in that
context, but I don't think adding _MASK to the name really adds anything
here (likewise for things like PMJCR_CORE0_SPD_MASK).
>>> +static int p1022_set_pll(unsigned int cpu, unsigned int pll)
>>> +{
>>> + int index, hw_cpu =3D get_hard_smp_processor_id(cpu);
>>> + int shift;
>>> + u32 corefreq, val, mask =3D 0;
>>> + unsigned int cur_pll =3D get_pll(hw_cpu);
>>> + unsigned long flags;
>>> + int ret =3D 0;
>>> +
>>> + if (pll =3D=3D cur_pll)
>>> + return 0;
>>> +
>>> + shift =3D hw_cpu * CORE_RATIO_BITS + CORE0_RATIO_SHIFT;
>>> + val =3D (pll & CORE_RATIO_MASK) << shift;
>>> +
>>> + corefreq =3D sysfreq * pll / 2;
>>> + /*
>>> + * Set the COREx_SPD bit if the requested core frequency
>>> + * is larger than the threshold frequency.
>>> + */
>>> + if (corefreq > FREQ_533MHz)
>>> + val |=3D PMJCR_CORE0_SPD_MASK << hw_cpu;
>>
>> P1022 manual says the threshold is 500 MHz (but doesn't say how to set
>> the bit if the frequency is exactly 500 MHz). Where did 533340000 com=
e
>> from?
>=20
> Please refer to Chapter 25 "25.4.1.11 Power Management Jog Control Regi=
ster (PMJCR)".
You seem to have a different version of the p1022 manual than I (and the
FSL docs website) do. In my copy 25.4.1 is "Performance Monitor
Interrupt" and it has no subsections.
PMJCR is described in 26.4.1.11 and for CORE0_SPD says:
> 0 Core0 frequency at 400=E2=80=93500 MHz
> 1 Core0 frequency at 500=E2=80=931067 MHz
>>> + local_irq_save(flags);
>>> + mb();
>>> + /* Wait for the other core to wake. */
>>> + while (in_jog_process !=3D 1)
>>> + mb();
>>
>> Timeout? And more unnecessary mb()s.
>>
>> Might be nice to support more than two cores, even if this code isn't
>> currently expected to be used on such hardware (it's just a generic
>> "hold other cpus" loop; might as well make it reusable). You could do
>> this by using an atomic count for other cores to check in and out of t=
he
>> spin loop.
>=20
> This is just for P1022, a dual-core chip. A separate patch will
> support multi-core chips, such as P4080, etc.
My point was that this specific function isn't really doing anything
p1022-specific, it's just a way to get other CPUs in the system to halt
until signalled to continue. I thought it would be nice to just write
it generically from the start, but it's up to you.
>>> + out_be32(guts + POWMGTCSR, POWMGTCSR_JOG_MASK |
>> P1022_POWMGTCSR_MSK);
>>> +
>>> + if (!spin_event_timeout(((in_be32(guts + POWMGTCSR) &
>>> + POWMGTCSR_JOG_MASK) =3D=3D 0), 10000, 10)) {
>>> + pr_err("%s: Fail to switch the core frequency.\n", __func__);
>>> + ret =3D -EFAULT;
>>> + }
>>> +
>>> + clrbits32(guts + POWMGTCSR, P1022_POWMGTCSR_MSK);
>>> + in_jog_process =3D 0;
>>> + mb();
>>
>> This mb() (or better, a readback of POWMGTCSR) should be before you
>> clear in_jog_process. For clarity of its purpose, the clearing of
>> POWMGTCSR should go in the failure branch of spin_event_timeout().
>=20
> According to the manual, P1022_POWMGTCSR_MSK should be reset
> by software regardless of failure or success.
OK, I missed that you're clearing more bits than you checked in
spin_event_timeout(). Could you rename P1022_POWMGTCSR_MSK to something
more meaningful (especially since you use _MASK all over the place to
mean something else)?
-Scott
^ permalink raw reply
* Re: Cannot wake-up from standby with MPC8313
From: Scott Wood @ 2012-01-04 21:08 UTC (permalink / raw)
To: Norbert van Bolhuis; +Cc: linuxppc-dev@ozlabs.org
In-Reply-To: <4F047BF8.7090400@aimvalley.nl>
On 01/04/2012 10:19 AM, Norbert van Bolhuis wrote:
>
> after entering:
>
> echo standby > /sys/power/state
>
> I'm unable to wake up the MPC8313 (on our custom designed
> MPC8313 board).
>
> I need it to wake up through GPIO IRQ.
> I cause multiple GPIO interrupts (all properly handled by an isr),
> but the MPC8313 does not wake up.
>
> How should one wake up via GPGIO IRQ ?
>
> I'm using v2.6.29 and I wonder whether this is related to
> our custom 8313 board and/or v2.6.29 and/or missing kernel
> patches or maybe this never worked ?
>
> Also, I do not understand line 220 of arch/powerpc/platforms/83xx/suspend.c
>
> 219 } else {
> 220 out_be32(&pmc_regs->mask, PMCER_PMCI);
> 221
> 222 mpc6xx_enter_standby();
>
> How can wake up ever work if TSEC/GPIO/TIMER/etc.. wake up events
> are disabled ?
>
> changing this into "out_be32(&pmc_regs->mask, PMCER_PMCI|PMCER_GPIO);"
> gives same result.
It's been a while since I've touched this, but IIRC the PMC events are
mainly important for deep sleep, and for normal sleep (standby) you can
wake from any interrupt other than core interrupts like timebase. I'm
not sure to what extent setting PMCCR[SLPEN] affects this -- I don't see
where the documentation says what "system low power state" means. I
would be surprised if GPIO were affected, though, since it's supported
as a wakeup source even in deep sleep. I think I was able to wake from
standby on a UART interrupt even with SLPEN set.
Are you sure the GPIO block is asserting an interrupt, and that it
hasn't been masked during the preparation for standby?
What happens if you modify mpc6xx_enter_standby() to not actually set
MSR_POW?
-Scott
^ permalink raw reply
* [git pull] Please pull powerpc.git next branch
From: Kumar Gala @ 2012-01-04 22:06 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc-dev
The following changes since commit e4f387d8db3ba3c2dae4d8bdfe7bb5f4fe1bcb0d:
powerpc: Fix unpaired probe_hcall_entry and probe_hcall_exit (2012-01-03 12:09:27 +1100)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/galak/powerpc.git next
Andy Fleming (1):
powerpc: Add TBI PHY node to first MDIO bus
Julia Lawall (1):
arch/powerpc/sysdev/fsl_rmu.c: introduce missing kfree
Kumar Gala (3):
powerpc/fsl-pci: Allow 64-bit PCIe devices to DMA to any memory address
powerpc/fsl: Update defconfigs to enable some standard FSL HW features
powerpc/fsl: update compatiable on fsl 16550 uart nodes
Michael Neuling (1):
powerpc: fix compile error with 85xx/p1023_rds.c
Paul Gortmaker (1):
sbc834x: put full compat string in board match check
Prabhakar Kushwaha (1):
powerpc/fsl: Add support for Integrated Flash Controller
Timur Tabi (3):
powerpc/85xx: re-enable ePAPR byte channel driver in corenet32_smp_defconfig
powerpc/85xx: fix PCI and localbus properties in p1022ds.dts
powerpc/fsl: add MSI support for the Freescale hypervisor
Tony Breeds (1):
powerpc: fix compile error with 85xx/p1010rdb.c
arch/powerpc/Kconfig | 4 +
arch/powerpc/boot/dts/asp834x-redboot.dts | 4 +-
arch/powerpc/boot/dts/fsl/pq3-duart-0.dtsi | 4 +-
arch/powerpc/boot/dts/fsl/qoriq-duart-0.dtsi | 4 +-
arch/powerpc/boot/dts/fsl/qoriq-duart-1.dtsi | 4 +-
arch/powerpc/boot/dts/gef_ppc9a.dts | 4 +-
arch/powerpc/boot/dts/gef_sbc310.dts | 4 +-
arch/powerpc/boot/dts/gef_sbc610.dts | 4 +-
arch/powerpc/boot/dts/kmeter1.dts | 2 +-
arch/powerpc/boot/dts/kuroboxHD.dts | 4 +-
arch/powerpc/boot/dts/kuroboxHG.dts | 4 +-
arch/powerpc/boot/dts/mpc8308_p1m.dts | 4 +-
arch/powerpc/boot/dts/mpc8308rdb.dts | 4 +-
arch/powerpc/boot/dts/mpc8313erdb.dts | 4 +-
arch/powerpc/boot/dts/mpc8315erdb.dts | 4 +-
arch/powerpc/boot/dts/mpc832x_mds.dts | 4 +-
arch/powerpc/boot/dts/mpc832x_rdb.dts | 4 +-
arch/powerpc/boot/dts/mpc8349emitx.dts | 4 +-
arch/powerpc/boot/dts/mpc8349emitxgp.dts | 4 +-
arch/powerpc/boot/dts/mpc834x_mds.dts | 4 +-
arch/powerpc/boot/dts/mpc836x_mds.dts | 4 +-
arch/powerpc/boot/dts/mpc836x_rdk.dts | 4 +-
arch/powerpc/boot/dts/mpc8377_mds.dts | 4 +-
arch/powerpc/boot/dts/mpc8377_rdb.dts | 4 +-
arch/powerpc/boot/dts/mpc8377_wlan.dts | 4 +-
arch/powerpc/boot/dts/mpc8378_mds.dts | 4 +-
arch/powerpc/boot/dts/mpc8378_rdb.dts | 4 +-
arch/powerpc/boot/dts/mpc8379_mds.dts | 4 +-
arch/powerpc/boot/dts/mpc8379_rdb.dts | 4 +-
arch/powerpc/boot/dts/mpc8540ads.dts | 4 +-
arch/powerpc/boot/dts/mpc8541cds.dts | 4 +-
arch/powerpc/boot/dts/mpc8555cds.dts | 4 +-
arch/powerpc/boot/dts/mpc8610_hpcd.dts | 4 +-
arch/powerpc/boot/dts/mpc8641_hpcn.dts | 4 +-
arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts | 4 +-
arch/powerpc/boot/dts/p1010rdb.dtsi | 5 +
arch/powerpc/boot/dts/p1020rdb.dtsi | 5 +
arch/powerpc/boot/dts/p1021mds.dts | 4 +
arch/powerpc/boot/dts/p1022ds.dts | 12 +-
arch/powerpc/boot/dts/p2020rdb.dts | 8 +-
arch/powerpc/boot/dts/sbc8349.dts | 4 +-
arch/powerpc/boot/dts/sbc8548.dts | 4 +-
arch/powerpc/boot/dts/sbc8641d.dts | 4 +-
arch/powerpc/boot/dts/socrates.dts | 4 +-
arch/powerpc/boot/dts/storcenter.dts | 4 +-
arch/powerpc/boot/dts/stxssa8555.dts | 4 +-
arch/powerpc/boot/dts/tqm8540.dts | 4 +-
arch/powerpc/boot/dts/tqm8541.dts | 4 +-
arch/powerpc/boot/dts/tqm8548-bigflash.dts | 4 +-
arch/powerpc/boot/dts/tqm8548.dts | 4 +-
arch/powerpc/boot/dts/tqm8555.dts | 4 +-
arch/powerpc/boot/dts/xcalibur1501.dts | 4 +-
arch/powerpc/boot/dts/xpedite5200.dts | 4 +-
arch/powerpc/boot/dts/xpedite5200_xmon.dts | 4 +-
arch/powerpc/boot/dts/xpedite5301.dts | 4 +-
arch/powerpc/boot/dts/xpedite5330.dts | 4 +-
arch/powerpc/boot/dts/xpedite5370.dts | 4 +-
arch/powerpc/configs/corenet32_smp_defconfig | 10 +-
arch/powerpc/configs/corenet64_smp_defconfig | 3 +-
arch/powerpc/configs/mpc85xx_defconfig | 16 +-
arch/powerpc/configs/mpc85xx_smp_defconfig | 17 +-
arch/powerpc/include/asm/fsl_ifc.h | 834 ++++++++++++++++++++++++++
arch/powerpc/platforms/83xx/sbc834x.c | 4 +-
arch/powerpc/platforms/85xx/p1010rdb.c | 2 -
arch/powerpc/platforms/85xx/p1023_rds.c | 1 -
arch/powerpc/sysdev/Makefile | 1 +
arch/powerpc/sysdev/fsl_ifc.c | 310 ++++++++++
arch/powerpc/sysdev/fsl_msi.c | 68 ++-
arch/powerpc/sysdev/fsl_msi.h | 7 +-
arch/powerpc/sysdev/fsl_pci.c | 84 +++
arch/powerpc/sysdev/fsl_rmu.c | 1 +
71 files changed, 1448 insertions(+), 150 deletions(-)
create mode 100644 arch/powerpc/include/asm/fsl_ifc.h
create mode 100644 arch/powerpc/sysdev/fsl_ifc.c
^ permalink raw reply
* Re: [PATCH] fsl/mpic: Document and use the "big-endian" device-tree flag
From: Randy Dunlap @ 2012-01-04 23:22 UTC (permalink / raw)
To: Kyle Moffett
Cc: linux-doc, Lucas De Marchi, devicetree-discuss, Rob Herring,
Stuart Yoder, Paul Mackerras, Josh Boyer, linuxppc-dev,
linux-kernel
In-Reply-To: <1324571123-11577-1-git-send-email-Kyle.D.Moffett@boeing.com>
On 12/22/2011 08:25 AM, Kyle Moffett wrote:
> The MPIC code checks for a "big-endian" property and sets the flag
> MPIC_BIG_ENDIAN if one is present. Unfortunately, the PowerQUICC-III
> compatible device-tree does not specify it, so all of the board ports
> need to manually set that flag when calling mpic_alloc().
>
> Document the flag and add it to the pq3 device tree. Existing code
> will still need to pass the MPIC_BIG_ENDIAN flag because their dtb may
> not have this property, but new platforms shouldn't need to do so.
>
> Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com>
Grant, are you merging this patch?
I don't think I should merge the patch to arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi.
> ---
> .../devicetree/bindings/powerpc/fsl/mpic.txt | 9 ++++++++-
> arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi | 1 +
> 2 files changed, 9 insertions(+), 1 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/powerpc/fsl/mpic.txt b/Documentation/devicetree/bindings/powerpc/fsl/mpic.txt
> index 2cf38bd..ebafba2 100644
> --- a/Documentation/devicetree/bindings/powerpc/fsl/mpic.txt
> +++ b/Documentation/devicetree/bindings/powerpc/fsl/mpic.txt
> @@ -56,7 +56,14 @@ PROPERTIES
> to the client. The presence of this property also mandates
> that any initialization related to interrupt sources shall
> be limited to sources explicitly referenced in the device tree.
> -
> +
> + - big-endian
> + Usage: optional
> + Value type: <empty>
> + If present the MPIC will be assumed to be big-endian. Some
> + device-trees omit this property on MPIC nodes even when the MPIC is
> + in fact big-endian, so certain boards override this property.
> +
> INTERRUPT SPECIFIER DEFINITION
>
> Interrupt specifiers consists of 4 cells encoded as
> diff --git a/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi b/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi
> index 5c80460..47f2b67 100644
> --- a/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi
> +++ b/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi
> @@ -39,6 +39,7 @@ mpic: pic@40000 {
> reg = <0x40000 0x40000>;
> compatible = "fsl,mpic";
> device_type = "open-pic";
> + big-endian;
> };
>
> timer@41100 {
--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
^ permalink raw reply
* Re: [PATCH] fsl/mpic: Document and use the "big-endian" device-tree flag
From: Benjamin Herrenschmidt @ 2012-01-04 23:08 UTC (permalink / raw)
To: Randy Dunlap
Cc: linux-doc, Lucas De Marchi, linux-kernel, devicetree-discuss,
Rob Herring, Stuart Yoder, Paul Mackerras, Kyle Moffett,
Josh Boyer, linuxppc-dev
In-Reply-To: <4F04DF50.4070201@xenotime.net>
On Wed, 2012-01-04 at 15:22 -0800, Randy Dunlap wrote:
> On 12/22/2011 08:25 AM, Kyle Moffett wrote:
> > The MPIC code checks for a "big-endian" property and sets the flag
> > MPIC_BIG_ENDIAN if one is present. Unfortunately, the PowerQUICC-III
> > compatible device-tree does not specify it, so all of the board ports
> > need to manually set that flag when calling mpic_alloc().
> >
> > Document the flag and add it to the pq3 device tree. Existing code
> > will still need to pass the MPIC_BIG_ENDIAN flag because their dtb may
> > not have this property, but new platforms shouldn't need to do so.
> >
> > Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com>
>
> Grant, are you merging this patch?
> I don't think I should merge the patch to arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi.
Best is to leave the whole lot to me. It's not like mpic is used
anywhere else ...
Cheers,
Ben.
> > --
> > .../devicetree/bindings/powerpc/fsl/mpic.txt | 9 ++++++++-
> > arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi | 1 +
> > 2 files changed, 9 insertions(+), 1 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/powerpc/fsl/mpic.txt b/Documentation/devicetree/bindings/powerpc/fsl/mpic.txt
> > index 2cf38bd..ebafba2 100644
> > --- a/Documentation/devicetree/bindings/powerpc/fsl/mpic.txt
> > +++ b/Documentation/devicetree/bindings/powerpc/fsl/mpic.txt
> > @@ -56,7 +56,14 @@ PROPERTIES
> > to the client. The presence of this property also mandates
> > that any initialization related to interrupt sources shall
> > be limited to sources explicitly referenced in the device tree.
> > -
> > +
> > + - big-endian
> > + Usage: optional
> > + Value type: <empty>
> > + If present the MPIC will be assumed to be big-endian. Some
> > + device-trees omit this property on MPIC nodes even when the MPIC is
> > + in fact big-endian, so certain boards override this property.
> > +
> > INTERRUPT SPECIFIER DEFINITION
> >
> > Interrupt specifiers consists of 4 cells encoded as
> > diff --git a/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi b/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi
> > index 5c80460..47f2b67 100644
> > --- a/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi
> > +++ b/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi
> > @@ -39,6 +39,7 @@ mpic: pic@40000 {
> > reg = <0x40000 0x40000>;
> > compatible = "fsl,mpic";
> > device_type = "open-pic";
> > + big-endian;
> > };
> >
> > timer@41100 {
>
>
^ permalink raw reply
* Re: linux-next: manual merge of the driver-core tree with the powerpc tree
From: Greg KH @ 2012-01-04 23:08 UTC (permalink / raw)
To: Stephen Rothwell
Cc: Deepthi Dharwar, Trinabh Gupta, Kay Sievers, linux-kernel,
linux-next, Paul Mackerras, linuxppc-dev, Arun R Bharadwaj
In-Reply-To: <20111228165102.fbb6433fd94d11240134327e@canb.auug.org.au>
On Wed, Dec 28, 2011 at 04:51:02PM +1100, Stephen Rothwell wrote:
> Hi Greg,
>
> Today's linux-next merge of the driver-core tree got a conflict in
> arch/powerpc/kernel/sysfs.c between commit 595fe91447b0 ("powerpc: Export
> PIR data through sysfs") from the powerpc tree and commits 8a25a2fd126c
> ("cpu: convert 'cpu' and 'machinecheck' sysdev_class to a regular
> subsystem") and 707827f3387d ("powerpc/cpuidle: cpuidle driver for
> pSeries") from the driver-core tree.
>
> I fixed it up (see below) and can carry the fix as necessary.
Looks good, thanks.
greg k-h
^ permalink raw reply
* Re: Problem in getting shared memory access on P1022RDK
From: tiejun.chen @ 2012-01-05 2:09 UTC (permalink / raw)
To: Arshad, Farrukh; +Cc: Scott Wood, linuxppc-dev@lists.ozlabs.org
In-Reply-To: <93CD5F41FDBC6042A6B449764F3B35CC050CCB2E@EU-MBX-03.mgc.mentorg.com>
Arshad, Farrukh wrote:
> How can I verify if the memory mapped is coherent on both cores. My memory partitioning is given below
>
> Core Base Address Size
> Core 0 0x0000,0000 0x1000,0000 --> CONFIG_PHYSICAL_START = bootm_low = Base Address
> Core 1 0x1000,0000 0x0C00,0000 --> CONFIG_PHYSICAL_START = bootm_low = Base Address
> Shared Mem 0x1C00,0000 0x0400,0000
Was the kernel option, CONFIG_SMP, enabled for both two kernels?
CONFIG_SMP would affect the memory attribute for cache coherency. Maybe you
should make sure if kernel have a appropriate memory attribute by dumping TLB entry.
Tiejun
>
> Regards,
> Farrukh Arshad
>
> -----Original Message-----
> From: Scott Wood [mailto:scottwood@freescale.com]
> Sent: Tuesday, January 03, 2012 10:10 PM
> To: Arshad, Farrukh
> Cc: linuxppc-dev@lists.ozlabs.org
> Subject: Re: Problem in getting shared memory access on P1022RDK
>
> On 01/03/2012 03:42 AM, Arshad, Farrukh wrote:
>> Adding more to it,
>>
>>
>>
>> When I write from Core 1 on the shared memory region it is visible at
>> Core 0 and it can read what I have written from Core 1 but when I
>> write from Core 0 on this shared memory it is not visible on Core 1.
>
> Is the memory mapped coherent on both cores?
>
> -Scott
^ permalink raw reply
* [PATCH v2] DTS: fix cmd12 bug and add the chip compatible for eSDHC
From: r66093 @ 2012-01-05 1:40 UTC (permalink / raw)
To: linuxppc-dev; +Cc: Jerry Huang
From: Jerry Huang <Chang-Ming.Huang@freescale.com>
Accordint to latest kernel, the auto-cmd12 property should be
"sdhci,auto-cmd12", and according to the SDHC binding and the workaround for
the special chip, add the chip compatible for eSDHC: "fsl,p1022-esdhc",
"fsl,mpc8536-esdhc", "fsl,p2020-esdhc" and "fsl,p1010-esdhc".
Signed-off-by: Jerry Huang <Chang-Ming.Huang@freescale.com>
---
changes for v2:
- reverse the special compatible entries
arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi | 4 ++++
arch/powerpc/boot/dts/fsl/p1010si-post.dtsi | 3 ++-
arch/powerpc/boot/dts/fsl/p1022si-post.dtsi | 3 ++-
arch/powerpc/boot/dts/fsl/p2020si-post.dtsi | 4 ++++
4 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi b/arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi
index 89af626..44e0ed9 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi
@@ -236,6 +236,10 @@
};
/include/ "pq3-esdhc-0.dtsi"
+ sdhc@2e000 {
+ compatible = "fsl,mpc8536-esdhc", "fsl,esdhc";
+ };
+
/include/ "pq3-sec3.0-0.dtsi"
/include/ "pq3-mpic.dtsi"
/include/ "pq3-mpic-timer-B.dtsi"
diff --git a/arch/powerpc/boot/dts/fsl/p1010si-post.dtsi b/arch/powerpc/boot/dts/fsl/p1010si-post.dtsi
index bd9e163..8ebe79c 100644
--- a/arch/powerpc/boot/dts/fsl/p1010si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1010si-post.dtsi
@@ -158,7 +158,8 @@
/include/ "pq3-usb2-dr-0.dtsi"
/include/ "pq3-esdhc-0.dtsi"
sdhc@2e000 {
- fsl,sdhci-auto-cmd12;
+ compatible = "fsl,p1010-esdhc", "fsl,esdhc";
+ sdhci,auto-cmd12;
};
/include/ "pq3-sec4.4-0.dtsi"
diff --git a/arch/powerpc/boot/dts/fsl/p1022si-post.dtsi b/arch/powerpc/boot/dts/fsl/p1022si-post.dtsi
index 16239b1..9999e56 100644
--- a/arch/powerpc/boot/dts/fsl/p1022si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1022si-post.dtsi
@@ -203,7 +203,8 @@
/include/ "pq3-esdhc-0.dtsi"
sdhc@2e000 {
- fsl,sdhci-auto-cmd12;
+ compatible = "fsl,p1022-esdhc", "fsl,esdhc";
+ sdhci,auto-cmd12;
};
/include/ "pq3-sec3.3-0.dtsi"
diff --git a/arch/powerpc/boot/dts/fsl/p2020si-post.dtsi b/arch/powerpc/boot/dts/fsl/p2020si-post.dtsi
index c041050..8ec1b13 100644
--- a/arch/powerpc/boot/dts/fsl/p2020si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p2020si-post.dtsi
@@ -182,6 +182,10 @@
/include/ "pq3-etsec1-1.dtsi"
/include/ "pq3-etsec1-2.dtsi"
/include/ "pq3-esdhc-0.dtsi"
+ sdhc@2e000 {
+ compatible = "fsl,p2020-esdhc", "fsl,esdhc";
+ };
+
/include/ "pq3-sec3.1-0.dtsi"
/include/ "pq3-mpic.dtsi"
/include/ "pq3-mpic-timer-B.dtsi"
--
1.7.5.4
^ permalink raw reply related
* RE: Problem in getting shared memory access on P1022RDK
From: Arshad, Farrukh @ 2012-01-05 5:46 UTC (permalink / raw)
To: tiejun.chen; +Cc: Scott Wood, linuxppc-dev@lists.ozlabs.org
In-Reply-To: <4F050653.6010601@windriver.com>
Pj4gV2FzIHRoZSBrZXJuZWwgb3B0aW9uLCBDT05GSUdfU01QLCBlbmFibGVkIGZvciBib3RoIHR3
byBrZXJuZWxzPw0KWWVzIENPTkZJR19TTVAgaXMgZW5hYmxlZCBmb3IgYm90aCBrZXJuZWxzLiAN
Cg0KPj4gTWF5YmUgeW91IHNob3VsZCBtYWtlIHN1cmUgaWYga2VybmVsIGhhdmUgYSBhcHByb3By
aWF0ZSBtZW1vcnkgYXR0cmlidXRlIGJ5IGR1bXBpbmcgVExCIGVudHJ5Lg0KVGhhbmtzIGZvciB0
aGUgcG9pbnRlci4gSSB3aWxsIHRyeSB0aGlzIG9uZS4NCg0KUmVnYXJkcywNCkZhcnJ1a2ggQXJz
aGFkDQo=
^ permalink raw reply
* [PATCH 1/3] KVM: PPC: epapr: Factor out the epapr init
From: Liu Yu @ 2012-01-05 9:06 UTC (permalink / raw)
To: agraf, kvm-ppc, kvm; +Cc: scottwood, linuxppc-dev, Liu Yu, timur
from the kvm guest paravirt init code.
Signed-off-by: Liu Yu <yu.liu@freescale.com>
---
arch/powerpc/include/asm/epapr_hcalls.h | 8 +++++
arch/powerpc/kernel/Makefile | 1 +
arch/powerpc/kernel/epapr_para.c | 45 +++++++++++++++++++++++++++++++
arch/powerpc/kernel/kvm.c | 9 +++++-
4 files changed, 62 insertions(+), 1 deletions(-)
create mode 100644 arch/powerpc/kernel/epapr_para.c
diff --git a/arch/powerpc/include/asm/epapr_hcalls.h b/arch/powerpc/include/asm/epapr_hcalls.h
index f3b0c2c..c4b86e4 100644
--- a/arch/powerpc/include/asm/epapr_hcalls.h
+++ b/arch/powerpc/include/asm/epapr_hcalls.h
@@ -148,6 +148,14 @@
#define EV_HCALL_CLOBBERS2 EV_HCALL_CLOBBERS3, "r5"
#define EV_HCALL_CLOBBERS1 EV_HCALL_CLOBBERS2, "r4"
+extern u32 *epapr_hcall_insts;
+extern int epapr_hcall_insts_len;
+
+static inline void epapr_get_hcall_insts(u32 **instp, int *lenp)
+{
+ *instp = epapr_hcall_insts;
+ *lenp = epapr_hcall_insts_len;
+}
/*
* We use "uintptr_t" to define a register because it's guaranteed to be a
diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
index ce4f7f1..1052bbc 100644
--- a/arch/powerpc/kernel/Makefile
+++ b/arch/powerpc/kernel/Makefile
@@ -134,6 +134,7 @@ ifneq ($(CONFIG_XMON)$(CONFIG_KEXEC),)
obj-y += ppc_save_regs.o
endif
+obj-$(CONFIG_BOOKE) += epapr_para.o
obj-$(CONFIG_KVM_GUEST) += kvm.o kvm_emul.o
# Disable GCOV in odd or sensitive code
diff --git a/arch/powerpc/kernel/epapr_para.c b/arch/powerpc/kernel/epapr_para.c
new file mode 100644
index 0000000..714dcb3
--- /dev/null
+++ b/arch/powerpc/kernel/epapr_para.c
@@ -0,0 +1,45 @@
+/*
+ * ePAPR para-virtualization support.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License, version 2, as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Copyright (C) 2012 Freescale Semiconductor, Inc.
+ */
+
+#include <linux/of.h>
+#include <asm/epapr_hcalls.h>
+
+u32 *epapr_hcall_insts;
+int epapr_hcall_insts_len;
+
+static int __init epapr_para_init(void)
+{
+ struct device_node *hyper_node;
+ u32 *insts;
+ int len;
+
+ hyper_node = of_find_node_by_path("/hypervisor");
+ if (!hyper_node)
+ return -ENODEV;
+
+ insts = (u32*)of_get_property(hyper_node, "hcall-instructions", &len);
+ if (!(len % 4) && (len >= (4 * 4))) {
+ epapr_hcall_insts = insts;
+ epapr_hcall_insts_len = len;
+ }
+
+ return 0;
+}
+
+early_initcall(epapr_para_init);
diff --git a/arch/powerpc/kernel/kvm.c b/arch/powerpc/kernel/kvm.c
index b06bdae..82a9137 100644
--- a/arch/powerpc/kernel/kvm.c
+++ b/arch/powerpc/kernel/kvm.c
@@ -28,6 +28,7 @@
#include <asm/sections.h>
#include <asm/cacheflush.h>
#include <asm/disassemble.h>
+#include <asm/epapr_hcalls.h>
#define KVM_MAGIC_PAGE (-4096L)
#define magic_var(x) KVM_MAGIC_PAGE + offsetof(struct kvm_vcpu_arch_shared, x)
@@ -535,9 +536,10 @@ EXPORT_SYMBOL_GPL(kvm_hypercall);
static int kvm_para_setup(void)
{
extern u32 kvm_hypercall_start;
- struct device_node *hyper_node;
u32 *insts;
int len, i;
+#ifndef CONFIG_BOOKE
+ struct device_node *hyper_node;
hyper_node = of_find_node_by_path("/hypervisor");
if (!hyper_node)
@@ -548,6 +550,11 @@ static int kvm_para_setup(void)
return -1;
if (len > (4 * 4))
return -1;
+#else
+ epapr_get_hcall_insts(&insts, &len);
+ if (insts == NULL)
+ return -1;
+#endif /* !BOOKE */
for (i = 0; i < (len / 4); i++)
kvm_patch_ins(&(&kvm_hypercall_start)[i], insts[i]);
--
1.6.4
^ permalink raw reply related
* [PATCH v2 3/3] KVM: PPC: epapr: install ev_idle hcall for e500 guest
From: Liu Yu @ 2012-01-05 9:06 UTC (permalink / raw)
To: agraf, kvm-ppc, kvm; +Cc: scottwood, linuxppc-dev, Liu Yu, timur
In-Reply-To: <1325754412-29963-1-git-send-email-yu.liu@freescale.com>
If the guest hypervisor node contains "has-idle" property.
Signed-off-by: Liu Yu <yu.liu@freescale.com>
---
v2:
1. move the idle code into assembly.
2. move the part that check "has-idle" into epapr code.
arch/powerpc/include/asm/epapr_hcalls.h | 1 +
arch/powerpc/include/asm/machdep.h | 5 +++++
arch/powerpc/kernel/epapr_para.c | 4 ++++
arch/powerpc/kernel/idle_e500.S | 17 +++++++++++++++++
arch/powerpc/kernel/kvm.c | 24 ++++++++++++++++++++++++
5 files changed, 51 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/include/asm/epapr_hcalls.h b/arch/powerpc/include/asm/epapr_hcalls.h
index c4b86e4..566805e 100644
--- a/arch/powerpc/include/asm/epapr_hcalls.h
+++ b/arch/powerpc/include/asm/epapr_hcalls.h
@@ -150,6 +150,7 @@
extern u32 *epapr_hcall_insts;
extern int epapr_hcall_insts_len;
+extern bool epapr_hcall_has_idle;
static inline void epapr_get_hcall_insts(u32 **instp, int *lenp)
{
diff --git a/arch/powerpc/include/asm/machdep.h b/arch/powerpc/include/asm/machdep.h
index 47cacdd..7e56abf 100644
--- a/arch/powerpc/include/asm/machdep.h
+++ b/arch/powerpc/include/asm/machdep.h
@@ -255,6 +255,11 @@ extern void power4_idle(void);
extern void power7_idle(void);
extern void ppc6xx_idle(void);
extern void book3e_idle(void);
+#ifdef CONFIG_KVM_GUEST
+extern void e500_ev_idle(unsigned long *, unsigned long *, unsigned long,
+ unsigned long (*)(unsigned long *, unsigned long *,
+ unsigned long));
+#endif
/*
* ppc_md contains a copy of the machine description structure for the
diff --git a/arch/powerpc/kernel/epapr_para.c b/arch/powerpc/kernel/epapr_para.c
index 714dcb3..1f37ddf 100644
--- a/arch/powerpc/kernel/epapr_para.c
+++ b/arch/powerpc/kernel/epapr_para.c
@@ -22,6 +22,7 @@
u32 *epapr_hcall_insts;
int epapr_hcall_insts_len;
+bool epapr_hcall_has_idle;
static int __init epapr_para_init(void)
{
@@ -39,6 +40,9 @@ static int __init epapr_para_init(void)
epapr_hcall_insts_len = len;
}
+ if (of_get_property(hyper_node, "has-idle", NULL))
+ epapr_hcall_has_idle = true;
+
return 0;
}
diff --git a/arch/powerpc/kernel/idle_e500.S b/arch/powerpc/kernel/idle_e500.S
index 3e2b95c..6ea95f0 100644
--- a/arch/powerpc/kernel/idle_e500.S
+++ b/arch/powerpc/kernel/idle_e500.S
@@ -85,6 +85,23 @@ END_FTR_SECTION_IFSET(CPU_FTR_L2CSR|CPU_FTR_CAN_NAP)
2: b 2b
#endif /* !E500MC */
+#ifdef CONFIG_KVM_GUEST
+/*
+ * r3 contains the pointer to in[8]
+ * r4 contains the pointer to out[8]
+ * r5 contains the hcall vendor and nr
+ * r6 contains the handler which send hcall
+ */
+_GLOBAL(e500_ev_idle)
+ rlwinm r7,r1,0,0,31-THREAD_SHIFT /* current thread_info */
+ lwz r8,TI_LOCAL_FLAGS(r7) /* set napping bit */
+ ori r8,r8,_TLF_NAPPING /* so when we take an exception */
+ stw r8,TI_LOCAL_FLAGS(r7) /* it will return to our caller */
+ wrteei 1
+ mtctr r6
+ bctr
+#endif /* KVM_GUEST */
+
/*
* Return from NAP/DOZE mode, restore some CPU specific registers,
* r2 containing physical address of current.
diff --git a/arch/powerpc/kernel/kvm.c b/arch/powerpc/kernel/kvm.c
index 82a9137..8952e12 100644
--- a/arch/powerpc/kernel/kvm.c
+++ b/arch/powerpc/kernel/kvm.c
@@ -29,6 +29,7 @@
#include <asm/cacheflush.h>
#include <asm/disassemble.h>
#include <asm/epapr_hcalls.h>
+#include <asm/machdep.h>
#define KVM_MAGIC_PAGE (-4096L)
#define magic_var(x) KVM_MAGIC_PAGE + offsetof(struct kvm_vcpu_arch_shared, x)
@@ -578,6 +579,25 @@ static __init void kvm_free_tmp(void)
}
}
+static void kvm_hcall_idle(void)
+{
+#ifdef CONFIG_KVM_E500
+ ulong in[8];
+ ulong out[8];
+
+ e500_ev_idle(in, out, HC_VENDOR_EPAPR | HC_EV_IDLE, kvm_hypercall);
+#endif
+}
+
+static bool kvm_para_has_idle(void)
+{
+#ifdef CONFIG_BOOKE
+ return epapr_hcall_has_idle;
+#else
+ return false;
+#endif
+}
+
static int __init kvm_guest_init(void)
{
if (!kvm_para_available())
@@ -594,6 +614,10 @@ static int __init kvm_guest_init(void)
powersave_nap = 1;
#endif
+ /* Install hcall based power_save for guest kernel */
+ if (kvm_para_has_idle())
+ ppc_md.power_save = kvm_hcall_idle;
+
free_tmp:
kvm_free_tmp();
--
1.6.4
^ permalink raw reply related
* Re: Cannot wake-up from standby with MPC8313
From: Norbert van Bolhuis @ 2012-01-05 15:58 UTC (permalink / raw)
To: Scott Wood; +Cc: linuxppc-dev@ozlabs.org
In-Reply-To: <4F04BFEA.1050009@freescale.com>
On 01/04/12 22:08, Scott Wood wrote:
...
> It's been a while since I've touched this, but IIRC the PMC events are
> mainly important for deep sleep, and for normal sleep (standby) you can
> wake from any interrupt other than core interrupts like timebase. I'm
> not sure to what extent setting PMCCR[SLPEN] affects this -- I don't see
> where the documentation says what "system low power state" means. I
> would be surprised if GPIO were affected, though, since it's supported
> as a wakeup source even in deep sleep. I think I was able to wake from
> standby on a UART interrupt even with SLPEN set.
>
> Are you sure the GPIO block is asserting an interrupt, and that it
> hasn't been masked during the preparation for standby?
>
> What happens if you modify mpc6xx_enter_standby() to not actually set
> MSR_POW?
>
thanks for your response.
not setting MSR_POW gives same result.
if I set kernel.powersave-nap=1 it works fine, so apparently
NAP/DOZE mode does work (if CPU is idle). This saves almost no
power though. Standby mode saves about 300-500 mW.
The problem could well be our board though, today I learned it does
work by connecting an (inactive) JTAG debugger.
Also, on another board it always works.
And indeed wake-up occurs through GPIO interrupt or UART interrupt
(key press on console).
---
NvBolhuis
^ permalink raw reply
* Re: Cannot wake-up from standby with MPC8313
From: Scott Wood @ 2012-01-05 18:22 UTC (permalink / raw)
To: Norbert van Bolhuis; +Cc: linuxppc-dev@ozlabs.org
In-Reply-To: <4F05C8C2.9070401@aimvalley.nl>
On 01/05/2012 09:58 AM, Norbert van Bolhuis wrote:
> thanks for your response.
>
> not setting MSR_POW gives same result.
OK, so you're not getting an interrupt regardless of low-power state.
Check whether the interrupt is getting masked during standby preparation.
Does the interrupt handler run when you're not trying to enter standby?
> if I set kernel.powersave-nap=1 it works fine,
What is "it"? Do you mean that powersave-nap doesn't break things, or
that standby works when you specify that?
> so apparently NAP/DOZE mode does work (if CPU is idle). This saves almost no
> power though. Standby mode saves about 300-500 mW.
>
> The problem could well be our board though, today I learned it does
> work by connecting an (inactive) JTAG debugger.
> Also, on another board it always works.
You mean connecting a JTAG but not doing anything with it made
wake-from-standby work?
There was a bug like that on early revisions of the mpc8313erdb board --
though in that case if you had a bad board the system would hang
whenever you access any PMC register. I'm not sure what the mechanism
of failure was; IIRC the fix was adding a resistor.
-Scott
^ permalink raw reply
* Re: [PATCH] fsl/mpic: Document and use the "big-endian" device-tree flag
From: Kumar Gala @ 2012-01-05 18:35 UTC (permalink / raw)
To: Kyle Moffett
Cc: linux-doc, Lucas De Marchi, devicetree-discuss, Stuart Yoder,
Rob Herring, linux-kernel, Randy Dunlap, Paul Mackerras,
Josh Boyer, linuxppc-dev
In-Reply-To: <1324571123-11577-1-git-send-email-Kyle.D.Moffett@boeing.com>
On Dec 22, 2011, at 10:25 AM, Kyle Moffett wrote:
> The MPIC code checks for a "big-endian" property and sets the flag
> MPIC_BIG_ENDIAN if one is present. Unfortunately, the PowerQUICC-III
> compatible device-tree does not specify it, so all of the board ports
> need to manually set that flag when calling mpic_alloc().
>
> Document the flag and add it to the pq3 device tree. Existing code
> will still need to pass the MPIC_BIG_ENDIAN flag because their dtb may
> not have this property, but new platforms shouldn't need to do so.
>
> Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com>
> ---
> .../devicetree/bindings/powerpc/fsl/mpic.txt | 9 ++++++++-
> arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi | 1 +
> 2 files changed, 9 insertions(+), 1 deletions(-)
need to update arch/powerpc/boot/dts/fsl/qoriq-mpic.dtsi
- k
^ permalink raw reply
* [git pull] Please pull powerpc.git next branch
From: Benjamin Herrenschmidt @ 2012-01-06 3:42 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linuxppc-dev list, Andrew Morton, Linux Kernel list
Hi Linus !
Here's my powerpc batch for this merge window. In addition to the usual
mixed bag of small fixes & improvements, the bigger highlights are:
- Reworked the freescale .dts (device-tree) files to use the new
".dtsi" include mechanism so board files just include the SoC definition
rather than duplicating it
- cpuidle framework support on pseries
- Various time management fixes & cleanups
- hugetlb support for FSL BookE embedded chips
- p7ioc IO chip support for powernv platform
- Cleanup of MPIC init code
And I'm probably forgetting some...
Cheers,
Ben.
The following changes since commit caca6a03d365883564885f2c1da3e88dcf65d139:
Linux 3.2-rc3 (2011-11-23 20:20:28 -0800)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git next
Alexandre Rusev (1):
powerpc/fsl-lbc: Fix for fsl_upm
Ananth N Mavinakayanahalli (1):
powerpc: Export PIR data through sysfs
Andreas Schwab (1):
powerpc: Fix wrong divisor in usecs_to_cputime
Andy Fleming (1):
powerpc: Add TBI PHY node to first MDIO bus
Anton Blanchard (22):
powerpc/time: Handle wrapping of decrementer
powerpc/time: Use clockevents_calc_mult_shift
powerpc/time: Use clocksource_register_hz
powerpc/time: Remove unnecessary sanity check of decrementer expiration
powerpc/time: Fix some style issues
powerpc/time: Optimise decrementer_check_overflow
powerpc: Decode correct MSR bits in oops output
powerpc/xics: Harden xics hypervisor backend
powerpc: Give us time to get all oopses out before panicking
powerpc: Remove broken and complicated kdump system reset code
powerpc/kdump: Use setjmp/longjmp to handle kdump and system reset recursion
powerpc: Cleanup crash/kexec code
powerpc: Rework die()
powerpc: Reduce pseries panic timeout from 180s to 10s
powerpc/xics: Reset the CPPR if H_EOI fails
powerpc/kdump: Delay before sending IPI on a system reset
powerpc/kdump: Only save CPU state first time through the secondary CPU capture code
powerpc/pseries: Increase minimum RMO size from 64MB to 256MB
powerpc/nvram: Add spinlock to oops_to_nvram to prevent oops in compression code.
powerpc: Enable squashfs as a module
powerpc: POWER7 optimised copy_to_user/copy_from_user using VMX
powerpc: Fix comment explaining our VSID layout
Becky Bruce (13):
powerpc: Only define HAVE_ARCH_HUGETLB_UNMAPPED_AREA if PPC_MM_SLICES
powerpc: hugetlb: fix huge_ptep_set_access_flags return value
powerpc: Fix booke hugetlb preload code for PPC_MM_SLICES and 64-bit
powerpc: Update hugetlb huge_pte_alloc and tablewalk code for FSL BOOKE
powerpc: hugetlb: modify include usage for FSL BookE code
powerpc: Whitespace/comment changes to tlb_low_64e.S
powerpc: Add hugepage support to 64-bit tablewalk code for FSL_BOOK3E
powerpc: Add gpages reservation code for 64-bit FSL BOOKE
powerpc: Kconfig updates for FSL BookE HUGETLB 64-bit
powerpc: Enable Hugetlb by default for 32-bit 85xx/corenet
powerpc: Enable hugetlb by default for corenet64 platforms
powerpc/book3e: Change hugetlb preload to take vma argument
powerpc: Define/use HUGETLB_NEED_PRELOAD insead of complicated #if
Benjamin Herrenschmidt (24):
powerpc/pci: Add a platform hook after probe and before resource survey
powerpc/pci: Change how re-assigning resouces work
powerpc/powernv: Add TCE SW invalidation support
powerpc/powernv: Fixup p7ioc PCIe root complex class code
powerpc/powernv: PCI support for p7IOC under OPAL v2
Merge remote-tracking branch 'kumar/next' into next
powerpc/powernv: Update OPAL interfaces
powerpc/powernv: Display diag data on p7ioc EEH errors
powerpc/powernv: Workaround OFW issues in prom_init.c
powerpc/pci: Make pci_read_irq_line() static
Merge branch 'mpic' into next
Merge branch 'booke-hugetlb' into next
powerpc: Add support for OpenBlockS 600
Merge branch 'cpuidle' into next
Merge branch 'ps3' into next
Merge branch 'kexec' into next
tty/serial/pmac_zilog: Fix suspend & resume
powerpc/pmac: Simplify old pmac PIC interrupt handling
powerpc/pmac: Fix SMP kernels on pre-core99 UP machines
Merge remote-tracking branch 'jwb/next' into next
powerpc: Fix old bug in prom_init setting of the color
offb: Fix bug in calculating requested vram size
offb: Add palette hack for qemu "standard vga" framebuffer
offb: Fix setting of the pseudo-palette for >8bpp
po
Christoph Egger (1):
powerpc/44x: Removing dead CONFIG_PPC47x
Chuck Meade (1):
drivers/serial/ucc_uart.c: Add missing call to init UCC UART port timeout
Dan McGee (1):
powerpc+sparc64/mm: Remove hack in mmap randomize layout
David Rientjes (2):
powerpc/mm: Fix section mismatch for mark_reserved_regions_for_nid
powerpc/mm: Fix section mismatch for read_n_cells
Deepthi Dharwar (4):
powerpc/cpuidle: Add cpu_idle_wait() to allow switching of idle routines
powerpc/cpuidle: cpuidle driver for pSeries
powerpc/cpuidle: Enable cpuidle and directly call cpuidle_idle_call() for pSeries
powerpc/cpuidle: Handle power_save=off
Dmitry Eremin-Solenikov (7):
powerpc/83xx: consolidate init_IRQ functions
powerpc/83xx: consolidate of_platform_bus_probe calls
powerpc/83xx: merge PCI bridge additions
powerpc/83xx: make mpc830x_rdb use mpc83xx_setup_pci
powerpc/85xx: separate cpm2 pic init
powerpc/85xx: consolidate of_platform_bus_probe calls
powerpc/maple: Enable access to HT Host-Bridge on Maple
Finn Thain (1):
pmac_zilog: Fix unexpected irq
Florian Fainelli (1):
perf/powerpc: Fix build for PowerPC with uclibc toolchains
Geoff Levand (8):
powerpc/ps3: Interrupt code cleanup
powerpc/ps3: Fix hcall lv1_net_stop_rx_dma
powerpc/ps3: Fix hcall lv1_get_virtual_address_space_id_of_ppe
powerpc/ps3: Fix hcall lv1_get_version_info
powerpc/ps3: Fix hcall lv1_read_repository_node
powerpc/ps3: Fix PS3 repository build warnings
powerpc/ps3: Add __init to ps3_smp_probe
powerpc/ps3: Update ps3_defconfig
Geoff Thorpe (1):
powerpc: Add pgprot_cached_noncoherent()
Jason Jin (1):
powerpc/fsl-pci: Don't hide resource for pci/e when configured as Agent/EP
Jia Hongtao (1):
powerpc/85xx: Add lbc suspend support for PM
Jimi Xenidis (6):
powerpc: Split ICSWX ACOP and PID processing
powerpc/book3e: Add ICSWX/ACOP support to Book3e cores like A2
powerpc/icswx: Simple ACOP fault handler
powerpc/xmon: Fix the 'u' command description
powerpc/xmon: Fix #if typo for systems without MSR[RI]
powerpc/book3e: Add Chroma as a new WSP/PowerEN platform.
Joakim Tjernlund (1):
powerpc/qe: Fixup QE_General4 errata
Josh Boyer (2):
MAINTAINERS: Update PowerPC 4xx git tree
powerpc/44x: Fix build error on currituck platform
Julia Lawall (4):
arch/powerpc/sysdev/ehv_pic.c: add missing kfree
powerpc/cell/iommu: Add missing of_node_put
powerpc/powermac: Add missing of_node_put
arch/powerpc/sysdev/fsl_rmu.c: introduce missing kfree
Justin P. Mattock (1):
powerpc/mpic: Remove extra semicolon.
Kai Jiang (1):
powerpc/8xxx: Update device tree bus probe for new RapidIO node binding
Kumar Gala (36):
powerpc/85xx: Fix compile error on p3060_qds.c
powerpc/85xx: Simplify P1020RDB CAMP dts using includes
powerpc/85xx: Rework PCI nodes on P1020RDB
powerpc/85xx: Update SPI binding to match binding spec for P1020RDB
powerpc/85xx: Update P1020 SEC3.3 node to match actual SoC HW
powerpc/85xx: Add ethernet magic packet property to P1020 device tree
powerpc/85xx: p1020si.dtsi update interrupt handling
powerpc/85xx: create dts components to build up an SoC
powerpc/85xx: Rework MPC8536DS device trees
powerpc/85xx: Rework MPC8544DS device tree
powerpc/85xx: Rework MPC8548CDS device trees
powerpc/85xx: Rework MPC8568MDS device tree
powerpc/85xx: Rework MPC8569MDS device tree
powerpc/85xx: Rework MPC8572DS device tree
powerpc/85xx: Rework P1010RDB and P1010 device tree
powerpc/85xx: Add RTC to P1010RDB device tree
powerpc/85xx: Add crypto engine to P1010 SoC device tree
powerpc/85xx: Add a P1010RDB 36-bit address map device tree
powerpc/85xx: Rework P1020RDB device tree
powerpc/85xx: Add P1020RDB 36-bit address map device tree
powerpc/85xx: Rework P1021MDS device tree
powerpc/85xx: Rework P1022DS device tree
powerpc/85xx: Rework P1023RDS device tree
powerpc/85xx: Rework P2020DS device tree
powerpc/85xx: Rework P2020RDB device tree
powerpc/85xx: Rework P2041RDB device tree
powerpc/85xx: Rework P3041DS device tree
powerpc/85xx: Rework P3060QDS device tree
powerpc/85xx: Rework P4080DS device trees
powerpc/85xx: Rework P5020DS device tree
powerpc/85xx: Update SRIO device tree nodes
powerpc/85xx: Additional consolidate of_platform_bus_probe calls
powerpc/85xx: Renamed mpc85xx_common.c to common.c
powerpc/fsl-pci: Allow 64-bit PCIe devices to DMA to any memory address
powerpc/fsl: Update defconfigs to enable some standard FSL HW features
powerpc/fsl: update compatiable on fsl 16550 uart nodes
Kyle Moffett (10):
powerpc/85xx: Move mpc85xx_smp_init() decl to a new "smp.h"
powerpc: Consolidate mpic_alloc() OF address translation
powerpc/mpic: Assume a device-node was passed in mpic_alloc()
powerpc/mpic: Save computed phys_addr for board-specific code
powerpc/mpic: Search for open-pic device-tree node if NULL
powerpc/mpic: Invert the meaning of MPIC_PRIMARY
powerpc/mpic: Don't open-code dcr_resource_start
powerpc/mpic: Put "pic-no-reset" test back into the MPIC code
powerpc/mpic: Cache the device-tree node in "struct mpic"
powerpc/mpic: Add in-core support for cascaded MPICs
Li Zhong (1):
powerpc: Fix unpaired probe_hcall_entry and probe_hcall_exit
Liu Gang (3):
powerpc/fsl: Document rapidio node binding-information
fsl-rio: Split rio driver into two parts, RapidIO endpoint and message unit
fsl-rio: Add two ports and rapidio message units support
Matt Evans (1):
powerpc: Add __SANE_USERSPACE_TYPES__ to asm/types.h for LL64
Matthew McClintock (1):
arch/powerpc: Remove duplicate/redundant Altivec entries
Michael Neuling (1):
powerpc: fix compile error with 85xx/p1023_rds.c
Milton Miller (1):
powerpc/pseries: Software invalidatation of TCEs
Paul Bolle (1):
powerpc/p3060qds: Fix select of 'MPC8xxx_GPIO'
Paul Gortmaker (1):
sbc834x: put full compat string in board match check
Paul Mackerras (3):
powerpc/powernv: Fix problems in onlining CPUs
powerpc: Provide a way for KVM to indicate that NV GPR values are lost
powerpc: Only use initrd_end as the limit for alloc_bottom if it's inside the RMO.
Prabhakar Kushwaha (1):
powerpc/fsl: Add support for Integrated Flash Controller
Ravi K. Nittala (1):
powerpc/pseries: Cancel RTAS event scan before firmware flash
Richard Kuo (1):
powerpc: Use rwsem.h from generic location
Roy Zang (1):
powerpc/p1023: set IRQ[4:6,11] to active-high level sensitive for PCIe
Shaohui Xie (1):
drivers/edac/mpc85xx_edac.c: fix memory controller compatible for edac
Suzuki Poulose (8):
powerpc: Rename mapping based RELOCATABLE to DYNAMIC_MEMSTART for BookE
powerpc/44x: Enable DYNAMIC_MEMSTART for 440x
powerpc: Process dynamic relocations for kernel
powerpc: Define virtual-physical translations for RELOCATABLE
powerpc/44x: Enable CONFIG_RELOCATABLE for PPC44x
powerpc/44x: Enable CRASH_DUMP for 440x
powerpc/boot: Change the load address for the wrapper to fit the kernel
powerpc/boot: Change the WARN to INFO for boot wrapper overlap message
Tanmay Inamdar (1):
powerpc/40x: Add APM8018X SOC support
Thomas Gleixner (4):
powerpc/85xx: Mark cascade irq IRQF_NO_THREAD
powerpc/wsp: Mark opb cascade handler IRQF_NO_THREAD
powerpc: Mark IPI interrupts IRQF_NO_THREAD
powerpc: Allow irq threading
Timur Tabi (5):
powerpc/85xx: add pixis indirect mode device tree node
powerpc/fsl_msi: add support for the fsl, msi property in PCI nodes
powerpc/85xx: re-enable ePAPR byte channel driver in corenet32_smp_defconfig
powerpc/85xx: fix PCI and localbus properties in p1022ds.dts
powerpc/fsl: add MSI support for the Freescale hypervisor
Tony Breeds (8):
powerpc/44x: pci: Use PCI_BASE_ADDRESS_MEM_PREFETCH rather than magic value.
powerpc/44x: pci: Add a want_sdr flag into ppc4xx_pciex_hwops
powerpc/44x: pci: Setup the dma_window properties for each pci_controller
powerpc/boot: Add extended precision shifts to the boot wrapper.
powerpc/boot: Add mfdcrx
powerpc/476fpe: Add 476fpe SoC code
powerpc/47x: Add support for the new IBM currituck platform
powerpc: fix compile error with 85xx/p1010rdb.c
sukadev@linux.vnet.ibm.com (2):
powerpc: Implement CONFIG_STRICT_DEVMEM
powerpc: Punch a hole in /dev/mem for librtas
.../devicetree/bindings/powerpc/fsl/srio-rmu.txt | 163 +++
.../devicetree/bindings/powerpc/fsl/srio.txt | 103 ++
MAINTAINERS | 2 +-
arch/powerpc/Kconfig | 54 +-
arch/powerpc/Kconfig.debug | 12 +
arch/powerpc/Makefile | 11 +-
arch/powerpc/boot/Makefile | 12 +-
arch/powerpc/boot/dcr.h | 6 +
arch/powerpc/boot/div64.S | 52 +
arch/powerpc/boot/dts/asp834x-redboot.dts | 4 +-
arch/powerpc/boot/dts/currituck.dts | 237 +++
arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi | 248 ++++
arch/powerpc/boot/dts/fsl/mpc8536si-pre.dtsi | 63 +
arch/powerpc/boot/dts/fsl/mpc8544si-post.dtsi | 191 +++
arch/powerpc/boot/dts/fsl/mpc8544si-pre.dtsi | 63 +
arch/powerpc/boot/dts/fsl/mpc8548si-post.dtsi | 143 ++
arch/powerpc/boot/dts/fsl/mpc8548si-pre.dtsi | 62 +
arch/powerpc/boot/dts/fsl/mpc8568si-post.dtsi | 270 ++++
arch/powerpc/boot/dts/fsl/mpc8568si-pre.dtsi | 65 +
arch/powerpc/boot/dts/fsl/mpc8569si-post.dtsi | 304 ++++
arch/powerpc/boot/dts/fsl/mpc8569si-pre.dtsi | 64 +
arch/powerpc/boot/dts/fsl/mpc8572si-post.dtsi | 196 +++
arch/powerpc/boot/dts/fsl/mpc8572si-pre.dtsi | 70 +
arch/powerpc/boot/dts/fsl/p1010si-post.dtsi | 198 +++
arch/powerpc/boot/dts/fsl/p1010si-pre.dtsi | 64 +
arch/powerpc/boot/dts/fsl/p1020si-post.dtsi | 174 +++
arch/powerpc/boot/dts/fsl/p1020si-pre.dtsi | 68 +
arch/powerpc/boot/dts/fsl/p1021si-post.dtsi | 225 +++
arch/powerpc/boot/dts/fsl/p1021si-pre.dtsi | 68 +
arch/powerpc/boot/dts/fsl/p1022si-post.dtsi | 235 +++
arch/powerpc/boot/dts/fsl/p1022si-pre.dtsi | 68 +
arch/powerpc/boot/dts/fsl/p1023si-post.dtsi | 224 +++
arch/powerpc/boot/dts/fsl/p1023si-pre.dtsi | 76 +
arch/powerpc/boot/dts/fsl/p2020si-post.dtsi | 194 +++
arch/powerpc/boot/dts/fsl/p2020si-pre.dtsi | 69 +
arch/powerpc/boot/dts/fsl/p2041si-post.dtsi | 325 +++++
arch/powerpc/boot/dts/fsl/p2041si-pre.dtsi | 111 ++
arch/powerpc/boot/dts/fsl/p3041si-post.dtsi | 352 +++++
arch/powerpc/boot/dts/fsl/p3041si-pre.dtsi | 112 ++
arch/powerpc/boot/dts/fsl/p3060si-post.dtsi | 296 ++++
arch/powerpc/boot/dts/fsl/p3060si-pre.dtsi | 125 ++
arch/powerpc/boot/dts/fsl/p4080si-post.dtsi | 350 +++++
arch/powerpc/boot/dts/fsl/p4080si-pre.dtsi | 143 ++
arch/powerpc/boot/dts/fsl/p5020si-post.dtsi | 355 +++++
arch/powerpc/boot/dts/fsl/p5020si-pre.dtsi | 96 ++
arch/powerpc/boot/dts/fsl/pq3-dma-0.dtsi | 66 +
arch/powerpc/boot/dts/fsl/pq3-dma-1.dtsi | 66 +
arch/powerpc/boot/dts/fsl/pq3-duart-0.dtsi | 51 +
arch/powerpc/boot/dts/fsl/pq3-esdhc-0.dtsi | 41 +
arch/powerpc/boot/dts/fsl/pq3-espi-0.dtsi | 41 +
arch/powerpc/boot/dts/fsl/pq3-etsec1-0.dtsi | 53 +
arch/powerpc/boot/dts/fsl/pq3-etsec1-1.dtsi | 53 +
arch/powerpc/boot/dts/fsl/pq3-etsec1-2.dtsi | 53 +
arch/powerpc/boot/dts/fsl/pq3-etsec1-3.dtsi | 53 +
arch/powerpc/boot/dts/fsl/pq3-etsec1-timer-0.dtsi | 39 +
arch/powerpc/boot/dts/fsl/pq3-etsec2-0.dtsi | 60 +
arch/powerpc/boot/dts/fsl/pq3-etsec2-1.dtsi | 60 +
arch/powerpc/boot/dts/fsl/pq3-etsec2-2.dtsi | 59 +
arch/powerpc/boot/dts/fsl/pq3-etsec2-grp2-0.dtsi | 42 +
arch/powerpc/boot/dts/fsl/pq3-etsec2-grp2-1.dtsi | 42 +
arch/powerpc/boot/dts/fsl/pq3-etsec2-grp2-2.dtsi | 42 +
arch/powerpc/boot/dts/fsl/pq3-gpio-0.dtsi | 41 +
arch/powerpc/boot/dts/fsl/pq3-i2c-0.dtsi | 43 +
arch/powerpc/boot/dts/fsl/pq3-i2c-1.dtsi | 43 +
arch/powerpc/boot/dts/fsl/pq3-mpic-timer-B.dtsi | 42 +
arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi | 66 +
arch/powerpc/boot/dts/fsl/pq3-rmu-0.dtsi | 68 +
arch/powerpc/boot/dts/fsl/pq3-sata2-0.dtsi | 40 +
arch/powerpc/boot/dts/fsl/pq3-sata2-1.dtsi | 40 +
arch/powerpc/boot/dts/fsl/pq3-sec2.1-0.dtsi | 43 +
arch/powerpc/boot/dts/fsl/pq3-sec3.0-0.dtsi | 45 +
arch/powerpc/boot/dts/fsl/pq3-sec3.1-0.dtsi | 45 +
arch/powerpc/boot/dts/fsl/pq3-sec3.3-0.dtsi | 45 +
arch/powerpc/boot/dts/fsl/pq3-sec4.4-0.dtsi | 65 +
arch/powerpc/boot/dts/fsl/pq3-usb2-dr-0.dtsi | 41 +
arch/powerpc/boot/dts/fsl/pq3-usb2-dr-1.dtsi | 41 +
arch/powerpc/boot/dts/fsl/qoriq-dma-0.dtsi | 66 +
arch/powerpc/boot/dts/fsl/qoriq-dma-1.dtsi | 66 +
arch/powerpc/boot/dts/fsl/qoriq-duart-0.dtsi | 51 +
arch/powerpc/boot/dts/fsl/qoriq-duart-1.dtsi | 51 +
arch/powerpc/boot/dts/fsl/qoriq-esdhc-0.dtsi | 40 +
arch/powerpc/boot/dts/fsl/qoriq-espi-0.dtsi | 41 +
arch/powerpc/boot/dts/fsl/qoriq-gpio-0.dtsi | 41 +
arch/powerpc/boot/dts/fsl/qoriq-i2c-0.dtsi | 53 +
arch/powerpc/boot/dts/fsl/qoriq-i2c-1.dtsi | 53 +
arch/powerpc/boot/dts/fsl/qoriq-mpic.dtsi | 106 ++
arch/powerpc/boot/dts/fsl/qoriq-rmu-0.dtsi | 68 +
arch/powerpc/boot/dts/fsl/qoriq-sata2-0.dtsi | 39 +
arch/powerpc/boot/dts/fsl/qoriq-sata2-1.dtsi | 39 +
arch/powerpc/boot/dts/fsl/qoriq-sec4.0-0.dtsi | 100 ++
arch/powerpc/boot/dts/fsl/qoriq-sec4.1-0.dtsi | 109 ++
arch/powerpc/boot/dts/fsl/qoriq-sec4.2-0.dtsi | 109 ++
arch/powerpc/boot/dts/fsl/qoriq-usb2-dr-0.dtsi | 41 +
arch/powerpc/boot/dts/fsl/qoriq-usb2-mph-0.dtsi | 41 +
arch/powerpc/boot/dts/gef_ppc9a.dts | 4 +-
arch/powerpc/boot/dts/gef_sbc310.dts | 4 +-
arch/powerpc/boot/dts/gef_sbc610.dts | 4 +-
arch/powerpc/boot/dts/klondike.dts | 227 +++
arch/powerpc/boot/dts/kmeter1.dts | 2 +-
arch/powerpc/boot/dts/kuroboxHD.dts | 4 +-
arch/powerpc/boot/dts/kuroboxHG.dts | 4 +-
arch/powerpc/boot/dts/mpc8308_p1m.dts | 4 +-
arch/powerpc/boot/dts/mpc8308rdb.dts | 4 +-
arch/powerpc/boot/dts/mpc8313erdb.dts | 4 +-
arch/powerpc/boot/dts/mpc8315erdb.dts | 4 +-
arch/powerpc/boot/dts/mpc832x_mds.dts | 4 +-
arch/powerpc/boot/dts/mpc832x_rdb.dts | 4 +-
arch/powerpc/boot/dts/mpc8349emitx.dts | 4 +-
arch/powerpc/boot/dts/mpc8349emitxgp.dts | 4 +-
arch/powerpc/boot/dts/mpc834x_mds.dts | 4 +-
arch/powerpc/boot/dts/mpc836x_mds.dts | 4 +-
arch/powerpc/boot/dts/mpc836x_rdk.dts | 4 +-
arch/powerpc/boot/dts/mpc8377_mds.dts | 4 +-
arch/powerpc/boot/dts/mpc8377_rdb.dts | 4 +-
arch/powerpc/boot/dts/mpc8377_wlan.dts | 4 +-
arch/powerpc/boot/dts/mpc8378_mds.dts | 4 +-
arch/powerpc/boot/dts/mpc8378_rdb.dts | 4 +-
arch/powerpc/boot/dts/mpc8379_mds.dts | 4 +-
arch/powerpc/boot/dts/mpc8379_rdb.dts | 4 +-
arch/powerpc/boot/dts/mpc8536ds.dts | 456 +------
arch/powerpc/boot/dts/mpc8536ds.dtsi | 141 ++
arch/powerpc/boot/dts/mpc8536ds_36b.dts | 410 +-----
arch/powerpc/boot/dts/mpc8540ads.dts | 4 +-
arch/powerpc/boot/dts/mpc8541cds.dts | 4 +-
arch/powerpc/boot/dts/mpc8544ds.dts | 473 +------
arch/powerpc/boot/dts/mpc8544ds.dtsi | 161 +++
arch/powerpc/boot/dts/mpc8548cds.dts | 505 ++-----
arch/powerpc/boot/dts/mpc8555cds.dts | 4 +-
arch/powerpc/boot/dts/mpc8568mds.dts | 482 +------
arch/powerpc/boot/dts/mpc8569mds.dts | 414 +-----
arch/powerpc/boot/dts/mpc8572ds.dts | 757 +----------
arch/powerpc/boot/dts/mpc8572ds.dtsi | 397 +++++
arch/powerpc/boot/dts/mpc8572ds_36b.dts | 746 +----------
arch/powerpc/boot/dts/mpc8572ds_camp_core0.dts | 487 +------
arch/powerpc/boot/dts/mpc8572ds_camp_core1.dts | 245 +---
arch/powerpc/boot/dts/mpc8610_hpcd.dts | 4 +-
arch/powerpc/boot/dts/mpc8641_hpcn.dts | 73 +-
arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts | 4 +-
arch/powerpc/boot/dts/obs600.dts | 314 ++++
arch/powerpc/boot/dts/p1010rdb.dts | 228 +---
arch/powerpc/boot/dts/p1010rdb.dtsi | 234 +++
arch/powerpc/boot/dts/p1010rdb_36b.dts | 89 ++
arch/powerpc/boot/dts/p1010si.dtsi | 374 -----
arch/powerpc/boot/dts/p1020rdb.dts | 262 +----
arch/powerpc/boot/dts/p1020rdb.dtsi | 247 ++++
arch/powerpc/boot/dts/p1020rdb_36b.dts | 66 +
arch/powerpc/boot/dts/p1020rdb_camp_core0.dts | 154 +--
arch/powerpc/boot/dts/p1020rdb_camp_core1.dts | 11 +-
arch/powerpc/boot/dts/p1020si.dtsi | 377 -----
arch/powerpc/boot/dts/p1021mds.dts | 425 +-----
arch/powerpc/boot/dts/p1022ds.dts | 459 +------
arch/powerpc/boot/dts/p1023rds.dts | 383 +-----
arch/powerpc/boot/dts/p2020ds.dts | 353 +-----
arch/powerpc/boot/dts/p2020ds.dtsi | 316 ++++
arch/powerpc/boot/dts/p2020rdb.dts | 71 +-
arch/powerpc/boot/dts/p2020rdb_camp_core0.dts | 141 +--
arch/powerpc/boot/dts/p2020rdb_camp_core1.dts | 107 +--
arch/powerpc/boot/dts/p2020si.dtsi | 382 -----
arch/powerpc/boot/dts/p2041rdb.dts | 22 +-
arch/powerpc/boot/dts/p2041si.dtsi | 692 ---------
arch/powerpc/boot/dts/p3041ds.dts | 23 +-
arch/powerpc/boot/dts/p3041si.dtsi | 729 ----------
arch/powerpc/boot/dts/p3060qds.dts | 12 +-
arch/powerpc/boot/dts/p3060si.dtsi | 719 ---------
arch/powerpc/boot/dts/p4080ds.dts | 24 +-
arch/powerpc/boot/dts/p4080si.dtsi | 755 ----------
arch/powerpc/boot/dts/p5020ds.dts | 24 +-
arch/powerpc/boot/dts/p5020si.dtsi | 716 ---------
arch/powerpc/boot/dts/sbc8349.dts | 4 +-
arch/powerpc/boot/dts/sbc8548.dts | 4 +-
arch/powerpc/boot/dts/sbc8641d.dts | 4 +-
arch/powerpc/boot/dts/socrates.dts | 4 +-
arch/powerpc/boot/dts/storcenter.dts | 4 +-
arch/powerpc/boot/dts/stxssa8555.dts | 4 +-
arch/powerpc/boot/dts/tqm8540.dts | 4 +-
arch/powerpc/boot/dts/tqm8541.dts | 4 +-
arch/powerpc/boot/dts/tqm8548-bigflash.dts | 4 +-
arch/powerpc/boot/dts/tqm8548.dts | 4 +-
arch/powerpc/boot/dts/tqm8555.dts | 4 +-
arch/powerpc/boot/dts/xcalibur1501.dts | 4 +-
arch/powerpc/boot/dts/xpedite5200.dts | 4 +-
arch/powerpc/boot/dts/xpedite5200_xmon.dts | 4 +-
arch/powerpc/boot/dts/xpedite5301.dts | 4 +-
arch/powerpc/boot/dts/xpedite5330.dts | 4 +-
arch/powerpc/boot/dts/xpedite5370.dts | 4 +-
arch/powerpc/boot/treeboot-currituck.c | 119 ++
arch/powerpc/boot/wrapper | 45 +-
arch/powerpc/configs/40x/klondike_defconfig | 55 +
arch/powerpc/configs/40x/obs600_defconfig | 83 ++
arch/powerpc/configs/44x/currituck_defconfig | 110 ++
arch/powerpc/configs/44x/iss476-smp_defconfig | 3 +-
arch/powerpc/configs/chroma_defconfig | 307 ++++
arch/powerpc/configs/corenet32_smp_defconfig | 11 +-
arch/powerpc/configs/corenet64_smp_defconfig | 4 +-
arch/powerpc/configs/mpc85xx_defconfig | 17 +-
arch/powerpc/configs/mpc85xx_smp_defconfig | 18 +-
arch/powerpc/configs/ppc64_defconfig | 5 +
arch/powerpc/configs/ps3_defconfig | 39 +-
arch/powerpc/configs/pseries_defconfig | 5 +
arch/powerpc/include/asm/Kbuild | 2 +
arch/powerpc/include/asm/cputable.h | 5 +-
arch/powerpc/include/asm/cputime.h | 6 +-
arch/powerpc/include/asm/fsl_ifc.h | 834 +++++++++++
arch/powerpc/include/asm/fsl_lbc.h | 7 +-
arch/powerpc/include/asm/hugetlb.h | 38 +-
arch/powerpc/include/asm/kdump.h | 4 +-
arch/powerpc/include/asm/kexec.h | 7 -
arch/powerpc/include/asm/lv1call.h | 10 +-
arch/powerpc/include/asm/machdep.h | 3 +
arch/powerpc/include/asm/mmu-book3e.h | 11 +
arch/powerpc/include/asm/mmu-hash64.h | 7 +-
arch/powerpc/include/asm/mpic.h | 14 +-
arch/powerpc/include/asm/opal.h | 131 ++-
arch/powerpc/include/asm/paca.h | 1 +
arch/powerpc/include/asm/page.h | 90 ++-
arch/powerpc/include/asm/page_64.h | 2 +
arch/powerpc/include/asm/pci-bridge.h | 6 +-
arch/powerpc/include/asm/pci.h | 2 -
arch/powerpc/include/asm/pgtable.h | 3 +
arch/powerpc/include/asm/processor.h | 3 +
arch/powerpc/include/asm/reg.h | 1 +
arch/powerpc/include/asm/reg_booke.h | 4 +
arch/powerpc/include/asm/rtas.h | 18 +
arch/powerpc/include/asm/rwsem.h | 132 --
arch/powerpc/include/asm/system.h | 11 +-
arch/powerpc/include/asm/tce.h | 10 +-
arch/powerpc/include/asm/time.h | 2 +
arch/powerpc/include/asm/types.h | 5 +-
arch/powerpc/kernel/Makefile | 2 +
arch/powerpc/kernel/asm-offsets.c | 1 +
arch/powerpc/kernel/cpu_setup_a2.S | 10 +-
arch/powerpc/kernel/cputable.c | 27 +
arch/powerpc/kernel/crash.c | 220 ++--
arch/powerpc/kernel/crash_dump.c | 4 +-
arch/powerpc/kernel/exceptions-64s.S | 2 +-
arch/powerpc/kernel/head_44x.S | 107 ++
arch/powerpc/kernel/head_fsl_booke.S | 2 +-
arch/powerpc/kernel/idle.c | 27 +
arch/powerpc/kernel/idle_power7.S | 4 +
arch/powerpc/kernel/irq.c | 28 +-
arch/powerpc/kernel/machine_kexec.c | 2 +-
arch/powerpc/kernel/pci-common.c | 78 +-
arch/powerpc/kernel/pci_dn.c | 3 +
arch/powerpc/kernel/process.c | 22 +-
arch/powerpc/kernel/prom_init.c | 37 +-
arch/powerpc/kernel/reloc_32.S | 208 +++
arch/powerpc/kernel/rtas_flash.c | 6 +
arch/powerpc/kernel/rtasd.c | 7 +
arch/powerpc/kernel/setup_64.c | 10 +
arch/powerpc/kernel/smp.c | 3 +-
arch/powerpc/kernel/sysfs.c | 10 +
arch/powerpc/kernel/time.c | 105 +-
arch/powerpc/kernel/traps.c | 173 ++-
arch/powerpc/kernel/vmlinux.lds.S | 8 +-
arch/powerpc/kvm/book3s_hv_rmhandlers.S | 3 +
arch/powerpc/lib/Makefile | 4 +-
arch/powerpc/lib/copyuser_64.S | 6 +
arch/powerpc/lib/copyuser_power7.S | 683 +++++++++
arch/powerpc/lib/copyuser_power7_vmx.c | 50 +
arch/powerpc/mm/44x_mmu.c | 6 +-
arch/powerpc/mm/Makefile | 2 +
arch/powerpc/mm/fault.c | 17 +
arch/powerpc/mm/hugetlbpage-book3e.c | 21 +-
arch/powerpc/mm/hugetlbpage.c | 116 +-
arch/powerpc/mm/icswx.c | 273 ++++
arch/powerpc/mm/icswx.h | 62 +
arch/powerpc/mm/icswx_pid.c | 87 ++
arch/powerpc/mm/init_32.c | 7 +
arch/powerpc/mm/mem.c | 23 +-
arch/powerpc/mm/mmap_64.c | 14 +-
arch/powerpc/mm/mmu_context_hash64.c | 195 +---
arch/powerpc/mm/numa.c | 4 +-
arch/powerpc/mm/tlb_low_64e.S | 36 +-
arch/powerpc/mm/tlb_nohash.c | 2 +-
arch/powerpc/platforms/40x/Kconfig | 21 +
arch/powerpc/platforms/40x/ppc40x_simple.c | 4 +-
arch/powerpc/platforms/44x/Kconfig | 14 +
arch/powerpc/platforms/44x/Makefile | 1 +
arch/powerpc/platforms/44x/currituck.c | 204 +++
arch/powerpc/platforms/44x/iss4xx.c | 2 +-
arch/powerpc/platforms/83xx/asp834x.c | 35 +-
arch/powerpc/platforms/83xx/km83xx.c | 58 +-
arch/powerpc/platforms/83xx/misc.c | 77 +
arch/powerpc/platforms/83xx/mpc830x_rdb.c | 40 +-
arch/powerpc/platforms/83xx/mpc831x_rdb.c | 43 +-
arch/powerpc/platforms/83xx/mpc832x_mds.c | 53 +-
arch/powerpc/platforms/83xx/mpc832x_rdb.c | 56 +-
arch/powerpc/platforms/83xx/mpc834x_itx.c | 30 +-
arch/powerpc/platforms/83xx/mpc834x_mds.c | 42 +-
arch/powerpc/platforms/83xx/mpc836x_mds.c | 53 +-
arch/powerpc/platforms/83xx/mpc836x_rdk.c | 48 +-
arch/powerpc/platforms/83xx/mpc837x_mds.c | 46 +-
arch/powerpc/platforms/83xx/mpc837x_rdb.c | 47 +-
arch/powerpc/platforms/83xx/mpc83xx.h | 16 +
arch/powerpc/platforms/83xx/sbc834x.c | 49 +-
arch/powerpc/platforms/85xx/Kconfig | 2 +-
arch/powerpc/platforms/85xx/Makefile | 2 +
arch/powerpc/platforms/85xx/common.c | 66 +
arch/powerpc/platforms/85xx/corenet_ds.c | 28 +-
arch/powerpc/platforms/85xx/ksi8560.c | 69 +-
arch/powerpc/platforms/85xx/mpc8536_ds.c | 38 +-
arch/powerpc/platforms/85xx/mpc85xx.h | 11 +
arch/powerpc/platforms/85xx/mpc85xx_ads.c | 74 +-
arch/powerpc/platforms/85xx/mpc85xx_cds.c | 42 +-
arch/powerpc/platforms/85xx/mpc85xx_ds.c | 50 +-
arch/powerpc/platforms/85xx/mpc85xx_mds.c | 73 +-
arch/powerpc/platforms/85xx/mpc85xx_rdb.c | 49 +-
arch/powerpc/platforms/85xx/p1010rdb.c | 38 +-
arch/powerpc/platforms/85xx/p1022_ds.c | 37 +-
arch/powerpc/platforms/85xx/p1023_rds.c | 47 +-
arch/powerpc/platforms/85xx/p3060_qds.c | 2 +-
arch/powerpc/platforms/85xx/sbc8548.c | 43 +-
arch/powerpc/platforms/85xx/sbc8560.c | 74 +-
arch/powerpc/platforms/85xx/smp.c | 1 +
arch/powerpc/platforms/85xx/smp.h | 15 +
arch/powerpc/platforms/85xx/socrates.c | 33 +-
arch/powerpc/platforms/85xx/stx_gp3.c | 73 +-
arch/powerpc/platforms/85xx/tqm85xx.c | 73 +-
arch/powerpc/platforms/85xx/xes_mpc85xx.c | 48 +-
arch/powerpc/platforms/86xx/mpc86xx_hpcn.c | 2 +-
arch/powerpc/platforms/86xx/pic.c | 18 +-
arch/powerpc/platforms/Kconfig | 6 +
arch/powerpc/platforms/Kconfig.cputype | 25 +-
arch/powerpc/platforms/cell/iommu.c | 2 +
arch/powerpc/platforms/cell/setup.c | 25 +-
arch/powerpc/platforms/chrp/setup.c | 3 +-
arch/powerpc/platforms/embedded6xx/holly.c | 23 +-
arch/powerpc/platforms/embedded6xx/linkstation.c | 20 +-
arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c | 24 +-
arch/powerpc/platforms/embedded6xx/storcenter.c | 26 +-
arch/powerpc/platforms/maple/pci.c | 55 +
arch/powerpc/platforms/maple/setup.c | 2 +-
arch/powerpc/platforms/pasemi/setup.c | 4 +-
arch/powerpc/platforms/powermac/pic.c | 80 +-
arch/powerpc/platforms/powermac/setup.c | 8 +-
arch/powerpc/platforms/powermac/smp.c | 6 +-
arch/powerpc/platforms/powernv/Makefile | 2 +-
arch/powerpc/platforms/powernv/opal-wrappers.S | 8 +
arch/powerpc/platforms/powernv/pci-ioda.c | 1330 +++++++++++++++++
arch/powerpc/platforms/powernv/pci-p5ioc2.c | 1 +
arch/powerpc/platforms/powernv/pci.c | 228 +++-
arch/powerpc/platforms/powernv/pci.h | 100 ++
arch/powerpc/platforms/powernv/smp.c | 2 +-
arch/powerpc/platforms/ps3/interrupt.c | 103 +-
arch/powerpc/platforms/ps3/repository.c | 137 +-
arch/powerpc/platforms/ps3/setup.c | 4 +-
arch/powerpc/platforms/ps3/smp.c | 2 +-
arch/powerpc/platforms/ps3/spu.c | 2 +-
arch/powerpc/platforms/pseries/Kconfig | 9 +
arch/powerpc/platforms/pseries/Makefile | 1 +
arch/powerpc/platforms/pseries/hvCall_inst.c | 4 +-
arch/powerpc/platforms/pseries/iommu.c | 61 +-
arch/powerpc/platforms/pseries/lpar.c | 2 +
arch/powerpc/platforms/pseries/nvram.c | 7 +
arch/powerpc/platforms/pseries/processor_idle.c | 329 +++++
arch/powerpc/platforms/pseries/pseries.h | 3 +
arch/powerpc/platforms/pseries/setup.c | 109 +--
arch/powerpc/platforms/pseries/smp.c | 1 +
arch/powerpc/platforms/wsp/Kconfig | 12 +-
arch/powerpc/platforms/wsp/Makefile | 8 +-
arch/powerpc/platforms/wsp/chroma.c | 56 +
arch/powerpc/platforms/wsp/h8.c | 134 ++
arch/powerpc/platforms/wsp/opb_pic.c | 3 +-
arch/powerpc/platforms/wsp/psr2.c | 56 +-
arch/powerpc/platforms/wsp/wsp.c | 115 ++
arch/powerpc/platforms/wsp/wsp.h | 16 +-
arch/powerpc/relocs_check.pl | 14 +-
arch/powerpc/sysdev/Makefile | 3 +-
arch/powerpc/sysdev/ehv_pic.c | 1 +
arch/powerpc/sysdev/fsl_ifc.c | 310 ++++
arch/powerpc/sysdev/fsl_lbc.c | 37 +
arch/powerpc/sysdev/fsl_msi.c | 99 ++-
arch/powerpc/sysdev/fsl_msi.h | 10 +-
arch/powerpc/sysdev/fsl_pci.c | 84 ++
arch/powerpc/sysdev/fsl_rio.c | 1519 ++++----------------
arch/powerpc/sysdev/fsl_rio.h | 135 ++
arch/powerpc/sysdev/fsl_rmu.c | 1104 ++++++++++++++
arch/powerpc/sysdev/mpic.c | 201 ++-
arch/powerpc/sysdev/ppc4xx_pci.c | 85 +-
arch/powerpc/sysdev/ppc4xx_pci.h | 7 +
arch/powerpc/sysdev/qe_lib/qe.c | 2 +-
arch/powerpc/sysdev/xics/icp-hv.c | 47 +-
arch/powerpc/sysdev/xics/xics-common.c | 2 +-
arch/powerpc/xmon/xmon.c | 16 +-
arch/sparc/kernel/sys_sparc_64.c | 6 +-
drivers/edac/mpc85xx_edac.c | 2 +-
drivers/net/ethernet/toshiba/ps3_gelic_net.c | 4 +-
drivers/tty/serial/pmac_zilog.c | 423 ++----
drivers/tty/serial/pmac_zilog.h | 19 +-
drivers/tty/serial/ucc_uart.c | 3 +
drivers/video/offb.c | 71 +-
include/linux/cpuidle.h | 2 -
tools/perf/arch/powerpc/util/dwarf-regs.c | 3 +
393 files changed, 21769 insertions(+), 16279 deletions(-)
create mode 100644 Documentation/devicetree/bindings/powerpc/fsl/srio-rmu.txt
create mode 100644 Documentation/devicetree/bindings/powerpc/fsl/srio.txt
create mode 100644 arch/powerpc/boot/dts/currituck.dts
create mode 100644 arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/mpc8536si-pre.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/mpc8544si-post.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/mpc8544si-pre.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/mpc8548si-post.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/mpc8548si-pre.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/mpc8568si-post.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/mpc8568si-pre.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/mpc8569si-post.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/mpc8569si-pre.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/mpc8572si-post.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/mpc8572si-pre.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/p1010si-post.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/p1010si-pre.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/p1020si-post.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/p1020si-pre.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/p1021si-post.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/p1021si-pre.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/p1022si-post.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/p1022si-pre.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/p1023si-post.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/p1023si-pre.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/p2020si-post.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/p2020si-pre.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/p2041si-post.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/p2041si-pre.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/p3041si-post.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/p3041si-pre.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/p3060si-post.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/p3060si-pre.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/p4080si-post.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/p4080si-pre.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/p5020si-post.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/p5020si-pre.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-dma-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-dma-1.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-duart-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-esdhc-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-espi-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-etsec1-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-etsec1-1.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-etsec1-2.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-etsec1-3.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-etsec1-timer-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-etsec2-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-etsec2-1.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-etsec2-2.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-etsec2-grp2-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-etsec2-grp2-1.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-etsec2-grp2-2.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-gpio-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-i2c-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-i2c-1.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-mpic-timer-B.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-rmu-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-sata2-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-sata2-1.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-sec2.1-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-sec3.0-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-sec3.1-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-sec3.3-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-sec4.4-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-usb2-dr-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/pq3-usb2-dr-1.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-dma-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-dma-1.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-duart-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-duart-1.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-esdhc-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-espi-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-gpio-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-i2c-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-i2c-1.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-mpic.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-rmu-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-sata2-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-sata2-1.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-sec4.0-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-sec4.1-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-sec4.2-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-usb2-dr-0.dtsi
create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-usb2-mph-0.dtsi
create mode 100644 arch/powerpc/boot/dts/klondike.dts
create mode 100644 arch/powerpc/boot/dts/mpc8536ds.dtsi
create mode 100644 arch/powerpc/boot/dts/mpc8544ds.dtsi
create mode 100644 arch/powerpc/boot/dts/mpc8572ds.dtsi
create mode 100644 arch/powerpc/boot/dts/obs600.dts
create mode 100644 arch/powerpc/boot/dts/p1010rdb.dtsi
create mode 100644 arch/powerpc/boot/dts/p1010rdb_36b.dts
delete mode 100644 arch/powerpc/boot/dts/p1010si.dtsi
create mode 100644 arch/powerpc/boot/dts/p1020rdb.dtsi
create mode 100644 arch/powerpc/boot/dts/p1020rdb_36b.dts
delete mode 100644 arch/powerpc/boot/dts/p1020si.dtsi
create mode 100644 arch/powerpc/boot/dts/p2020ds.dtsi
delete mode 100644 arch/powerpc/boot/dts/p2020si.dtsi
delete mode 100644 arch/powerpc/boot/dts/p2041si.dtsi
delete mode 100644 arch/powerpc/boot/dts/p3041si.dtsi
delete mode 100644 arch/powerpc/boot/dts/p3060si.dtsi
delete mode 100644 arch/powerpc/boot/dts/p4080si.dtsi
delete mode 100644 arch/powerpc/boot/dts/p5020si.dtsi
create mode 100644 arch/powerpc/boot/treeboot-currituck.c
create mode 100644 arch/powerpc/configs/40x/klondike_defconfig
create mode 100644 arch/powerpc/configs/40x/obs600_defconfig
create mode 100644 arch/powerpc/configs/44x/currituck_defconfig
create mode 100644 arch/powerpc/configs/chroma_defconfig
create mode 100644 arch/powerpc/include/asm/fsl_ifc.h
delete mode 100644 arch/powerpc/include/asm/rwsem.h
create mode 100644 arch/powerpc/kernel/reloc_32.S
create mode 100644 arch/powerpc/lib/copyuser_power7.S
create mode 100644 arch/powerpc/lib/copyuser_power7_vmx.c
create mode 100644 arch/powerpc/mm/icswx.c
create mode 100644 arch/powerpc/mm/icswx.h
create mode 100644 arch/powerpc/mm/icswx_pid.c
create mode 100644 arch/powerpc/platforms/44x/currituck.c
create mode 100644 arch/powerpc/platforms/85xx/common.c
create mode 100644 arch/powerpc/platforms/85xx/mpc85xx.h
create mode 100644 arch/powerpc/platforms/85xx/smp.h
create mode 100644 arch/powerpc/platforms/powernv/pci-ioda.c
create mode 100644 arch/powerpc/platforms/pseries/processor_idle.c
create mode 100644 arch/powerpc/platforms/wsp/chroma.c
create mode 100644 arch/powerpc/platforms/wsp/h8.c
create mode 100644 arch/powerpc/platforms/wsp/wsp.c
create mode 100644 arch/powerpc/sysdev/fsl_ifc.c
create mode 100644 arch/powerpc/sysdev/fsl_rio.h
create mode 100644 arch/powerpc/sysdev/fsl_rmu.c
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox