sparc64: Only Panther cheetah+ chips have POPC.

Gitweb:     http://git.kernel.org/linus/1a8e0da5937a6c87807083baa318cf8f98dac9aa
Commit:     1a8e0da5937a6c87807083baa318cf8f98dac9aa
Parent:     0f43dd546d991ca260d8a72d07f617907c508de8
Author:     David S. Miller <davem <at> davemloft.net>
AuthorDate: Mon Aug 29 21:14:29 2011 -0700
Committer:  David S. Miller <davem <at> davemloft.net>
CommitDate: Mon Aug 29 21:14:29 2011 -0700

    sparc64: Only Panther cheetah+ chips have POPC.

    Signed-off-by: David S. Miller <davem <at> davemloft.net>
---
 arch/sparc/kernel/setup_64.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/arch/sparc/kernel/setup_64.c b/arch/sparc/kernel/setup_64.c
index 3e9daea..3c5bb78 100644
--- a/arch/sparc/kernel/setup_64.c
+++ b/arch/sparc/kernel/setup_64.c
@@ -440,8 +440,14 @@ static void __init init_sparc64_elf_hwcap(void)
 			cap |= AV_SPARC_VIS;
 		if (tlb_type == cheetah || tlb_type == cheetah_plus)
 			cap |= AV_SPARC_VIS | AV_SPARC_VIS2;
-		if (tlb_type == cheetah_plus)
-			cap |= AV_SPARC_POPC;
+		if (tlb_type == cheetah_plus) {
+			unsigned long impl, ver;
+
+			__asm__ __volatile__("rdpr %%ver, %0" : "=r" (ver));
+			impl = ((ver >> 32) & 0xffff);
(Continue reading)

drm/radeon/kms: add s/r quirk for Compaq Presario V5245EU

Gitweb:     http://git.kernel.org/linus/302a8e8b06d312dcb3b718dfeb42aa912b5f426b
Commit:     302a8e8b06d312dcb3b718dfeb42aa912b5f426b
Parent:     a49a50dad48586d42ebac1a6730c3a3cd5603421
Author:     Alex Deucher <alexander.deucher <at> amd.com>
AuthorDate: Mon Aug 29 14:55:25 2011 +0000
Committer:  Dave Airlie <airlied <at> redhat.com>
CommitDate: Tue Aug 30 10:55:20 2011 +0100

    drm/radeon/kms: add s/r quirk for Compaq Presario V5245EU

    Fixes resume on Compaq Presario V5245EU.

    Fixes:
    https://bugzilla.kernel.org/show_bug.cgi?id=41642

    Signed-off-by: Alex Deucher <alexander.deucher <at> amd.com>
    Cc: stable <at> kernel.org
    Signed-off-by: Dave Airlie <airlied <at> redhat.com>
---
 drivers/gpu/drm/radeon/radeon_combios.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_combios.c b/drivers/gpu/drm/radeon/radeon_combios.c
index e0138b6..6367524 100644
--- a/drivers/gpu/drm/radeon/radeon_combios.c
+++ b/drivers/gpu/drm/radeon/radeon_combios.c
@@ -3298,6 +3298,14 @@ void radeon_combios_asic_init(struct drm_device *dev)
 	    rdev->pdev->subsystem_device == 0x30a4)
 		return;

(Continue reading)

drm/radeon/kms: evergreen & ni reset SPI block on CP resume

Gitweb:     http://git.kernel.org/linus/a49a50dad48586d42ebac1a6730c3a3cd5603421
Commit:     a49a50dad48586d42ebac1a6730c3a3cd5603421
Parent:     6380c509215b10c44aec8760e65b2e7f1827d009
Author:     Jerome Glisse <jglisse <at> redhat.com>
AuthorDate: Wed Aug 24 20:00:17 2011 +0000
Committer:  Dave Airlie <airlied <at> redhat.com>
CommitDate: Tue Aug 30 10:55:10 2011 +0100

    drm/radeon/kms: evergreen & ni reset SPI block on CP resume

    For some reason SPI block is in broken state after module
    unloading. This lead to broken rendering after reloading
    module. Fix this by reseting SPI block in CP resume function

    Signed-off-by: Jerome Glisse <jglisse <at> redhat.com
    Reviewed-by: Alex Deucher <alexander.deucher <at> amd.com>
    Cc: stable <at> kernel.org
    Signed-off-by: Dave Airlie <airlied <at> redhat.com>
---
 drivers/gpu/drm/radeon/evergreen.c |    1 +
 drivers/gpu/drm/radeon/ni.c        |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c
index fb5fa08..d8d71a3 100644
--- a/drivers/gpu/drm/radeon/evergreen.c
+++ b/drivers/gpu/drm/radeon/evergreen.c
@@ -1357,6 +1357,7 @@ int evergreen_cp_resume(struct radeon_device *rdev)
 				 SOFT_RESET_PA |
 				 SOFT_RESET_SH |
(Continue reading)

drm: Fix the number of connector and encoder to cleanup functions

Gitweb:     http://git.kernel.org/linus/6380c509215b10c44aec8760e65b2e7f1827d009
Commit:     6380c509215b10c44aec8760e65b2e7f1827d009
Parent:     c6a389f123b9f68d605bb7e0f9b32ec1e3e14132
Author:     Joonyoung Shim <jy0922.shim <at> samsung.com>
AuthorDate: Sat Aug 27 02:06:21 2011 +0000
Committer:  Dave Airlie <airlied <at> redhat.com>
CommitDate: Mon Aug 29 11:47:35 2011 +0100

    drm: Fix the number of connector and encoder to cleanup functions

    It is left out the code to decrease the number of connector and encoder
    to the cleanup functions.

    Signed-off-by: Joonyoung Shim <jy0922.shim <at> samsung.com>
    Signed-off-by: Kyungmin Park <kyungmin.park <at> samsung.com>
    Signed-off-by: Dave Airlie <airlied <at> redhat.com>
---
 drivers/gpu/drm/drm_crtc.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 82db185..fe738f0 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -499,6 +499,7 @@ void drm_connector_cleanup(struct drm_connector *connector)
 	mutex_lock(&dev->mode_config.mutex);
 	drm_mode_object_put(dev, &connector->base);
 	list_del(&connector->head);
+	dev->mode_config.num_connector--;
 	mutex_unlock(&dev->mode_config.mutex);
(Continue reading)

bitops: Move find_next_bit.o from lib-y to obj-y

Gitweb:     http://git.kernel.org/linus/bd823821e68e5de6d680cbbf1c8654c9c36674e1
Commit:     bd823821e68e5de6d680cbbf1c8654c9c36674e1
Parent:     90e93648c41bd29a72f6ec55ce27a23c209eab8c
Author:     Geert Uytterhoeven <geert <at> linux-m68k.org>
AuthorDate: Tue Aug 30 15:17:03 2011 +0200
Committer:  Linus Torvalds <torvalds <at> linux-foundation.org>
CommitDate: Tue Aug 30 10:12:05 2011 -0700

    bitops: Move find_next_bit.o from lib-y to obj-y

    If there are no builtin users of find_next_bit_le() and
    find_next_zero_bit_le(), these functions are not present in the kernel
    image, causing m68k allmodconfig to fail with:

      ERROR: "find_next_zero_bit_le" [fs/ufs/ufs.ko] undefined!
      ERROR: "find_next_bit_le" [fs/udf/udf.ko] undefined!
      ...

    This started to happen after commit 171d809df189 ("m68k: merge mmu and
    non-mmu bitops.h"), as m68k had its own inline versions before.

    commit 63e424c84429 ("arch: remove CONFIG_GENERIC_FIND_{NEXT_BIT,
    BIT_LE, LAST_BIT}") added find_last_bit.o to obj-y (so it's always
    included), but find_next_bit.o to lib-y (so it gets removed by the
    linker if there are no builtin users).

    Signed-off-by: Geert Uytterhoeven <geert <at> linux-m68k.org>
    Cc: Akinobu Mita <akinobu.mita <at> gmail.com>
    Cc: Greg Ungerer <gerg <at> uclinux.org>
    Cc: Andrew Morton <akpm <at> linux-foundation.org>
(Continue reading)

ARM: pm: avoid writing the auxillary control register for ARMv7

Gitweb:     http://git.kernel.org/linus/25904157168ddc8841748a729914f00e53d7e049
Commit:     25904157168ddc8841748a729914f00e53d7e049
Parent:     f35235a315a167e38e8e5bc9e476dcd7c932612c
Author:     Russell King <rmk+kernel <at> arm.linux.org.uk>
AuthorDate: Fri Aug 26 22:44:59 2011 +0100
Committer:  Russell King <rmk+kernel <at> arm.linux.org.uk>
CommitDate: Sun Aug 28 10:39:54 2011 +0100

    ARM: pm: avoid writing the auxillary control register for ARMv7

    For ARMv7 kernels running in the non-secure world, writing to the
    auxillary control register causes an abort, so we must avoid directly
    writing the auxillary control register.  If the ACR has already been
    reinitialized by SoC code, don't try to restore it.

    Signed-off-by: Russell King <rmk+kernel <at> arm.linux.org.uk>
---
 arch/arm/mm/proc-v7.S |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
index a773f4e..9049c07 100644
--- a/arch/arm/mm/proc-v7.S
+++ b/arch/arm/mm/proc-v7.S
@@ -248,7 +248,9 @@ ENTRY(cpu_v7_do_resume)
 	mcr	p15, 0, r7, c2, c0, 0	@ TTB 0
 	mcr	p15, 0, r8, c2, c0, 1	@ TTB 1
 	mcr	p15, 0, ip, c2, c0, 2	@ TTB control register
-	mcr	p15, 0, r10, c1, c0, 1	@ Auxiliary control register
+	mrc	p15, 0, r4, c1, c0, 1	@ Read Auxiliary control register
(Continue reading)

ARM: pm: some ARMv7 requires a dsb in resume to ensure correctness

Gitweb:     http://git.kernel.org/linus/f35235a315a167e38e8e5bc9e476dcd7c932612c
Commit:     f35235a315a167e38e8e5bc9e476dcd7c932612c
Parent:     1c0270cd3a7a66148c3f72cab8fffc650d196d1d
Author:     Russell King <rmk+kernel <at> arm.linux.org.uk>
AuthorDate: Sat Aug 27 00:37:38 2011 +0100
Committer:  Russell King <rmk+kernel <at> arm.linux.org.uk>
CommitDate: Sun Aug 28 10:39:54 2011 +0100

    ARM: pm: some ARMv7 requires a dsb in resume to ensure correctness

    Add a dsb after the isb to ensure that the previous writes to the
    CP15 registers take effect before we enable the MMU.

    Signed-off-by: Russell King <rmk+kernel <at> arm.linux.org.uk>
---
 arch/arm/mm/proc-v7.S |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
index dec72ee..a773f4e 100644
--- a/arch/arm/mm/proc-v7.S
+++ b/arch/arm/mm/proc-v7.S
@@ -255,6 +255,7 @@ ENTRY(cpu_v7_do_resume)
 	mcr	p15, 0, r4, c10, c2, 0	@ write PRRR
 	mcr	p15, 0, r5, c10, c2, 1	@ write NMRR
 	isb
+	dsb
 	mov	r0, r9			@ control register
 	mov	r2, r7, lsr #14		@ get TTB0 base
 	mov	r2, r2, lsl #14
(Continue reading)

ARM: pm: arm920/926: fix number of registers saved

Gitweb:     http://git.kernel.org/linus/1c0270cd3a7a66148c3f72cab8fffc650d196d1d
Commit:     1c0270cd3a7a66148c3f72cab8fffc650d196d1d
Parent:     6f354e5f40f433da98fab4103cd3a0aef1c18bde
Author:     Russell King <rmk+kernel <at> arm.linux.org.uk>
AuthorDate: Sat Aug 27 11:43:14 2011 +0100
Committer:  Russell King <rmk+kernel <at> arm.linux.org.uk>
CommitDate: Sun Aug 28 10:39:54 2011 +0100

    ARM: pm: arm920/926: fix number of registers saved

    ARM920 and ARM926 save four registers, not three.  Fix the size of
    the suspend region required.

    Signed-off-by: Russell King <rmk+kernel <at> arm.linux.org.uk>
---
 arch/arm/mm/proc-arm920.S |    2 +-
 arch/arm/mm/proc-arm926.S |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mm/proc-arm920.S b/arch/arm/mm/proc-arm920.S
index 92bd102..2e6849b 100644
--- a/arch/arm/mm/proc-arm920.S
+++ b/arch/arm/mm/proc-arm920.S
@@ -379,7 +379,7 @@ ENTRY(cpu_arm920_set_pte_ext)

 /* Suspend/resume support: taken from arch/arm/plat-s3c24xx/sleep.S */
 .globl	cpu_arm920_suspend_size
-.equ	cpu_arm920_suspend_size, 4 * 3
+.equ	cpu_arm920_suspend_size, 4 * 4
 #ifdef CONFIG_PM_SLEEP
(Continue reading)

ARM: pm: CPU specific code should not overwrite r1 (v:p offset)

Gitweb:     http://git.kernel.org/linus/6f354e5f40f433da98fab4103cd3a0aef1c18bde
Commit:     6f354e5f40f433da98fab4103cd3a0aef1c18bde
Parent:     0f81bb6b051ad760686b5b0fef8c731282c16ef5
Author:     Russell King <rmk+kernel <at> arm.linux.org.uk>
AuthorDate: Sat Aug 27 11:37:58 2011 +0100
Committer:  Russell King <rmk+kernel <at> arm.linux.org.uk>
CommitDate: Sun Aug 28 10:39:53 2011 +0100

    ARM: pm: CPU specific code should not overwrite r1 (v:p offset)

    r1 stores the v:p offset from the CPU invariant resume code, and is
    expected to be preserved by the CPU specific code.  Overwriting it is
    not a good idea.

    We've managed to get away with it on sa1100 platforms because most
    happen to have PHYS_OFFSET == PAGE_OFFSET, but that may not be the
    case depending on kernel configuration.  So fix this latent bug.

    This fixes xsc3 as well which was saving and restoring this register
    independently.

    Signed-off-by: Russell King <rmk+kernel <at> arm.linux.org.uk>
---
 arch/arm/mm/proc-sa1100.S |   10 +++++-----
 arch/arm/mm/proc-xsc3.S   |    6 +++---
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/arch/arm/mm/proc-sa1100.S b/arch/arm/mm/proc-sa1100.S
index 07219c2..69e7f2e 100644
--- a/arch/arm/mm/proc-sa1100.S
(Continue reading)

ARM: 7066/1: proc-v7: disable SCTLR.TE when disabling MMU

Gitweb:     http://git.kernel.org/linus/0f81bb6b051ad760686b5b0fef8c731282c16ef5
Commit:     0f81bb6b051ad760686b5b0fef8c731282c16ef5
Parent:     552e0c8da8ff7099e6fe060cd7ec36ae11f5465b
Author:     Will Deacon <will.deacon <at> arm.com>
AuthorDate: Fri Aug 26 16:34:51 2011 +0100
Committer:  Russell King <rmk+kernel <at> arm.linux.org.uk>
CommitDate: Sun Aug 28 10:39:53 2011 +0100

    ARM: 7066/1: proc-v7: disable SCTLR.TE when disabling MMU

    cpu_v7_reset disables the MMU and then branches to the provided address.
    On Thumb-2 kernels, we should take care to clear the Thumb Exception
    enable bit in the System Control Register, otherwise this may wreak
    havok in the code to which we are branching (for example, an ARM kernel
    image via kexec).

    Reviewed-by: Dave Martin <dave.martin <at> linaro.org>
    Signed-off-by: Will Deacon <will.deacon <at> arm.com>
    Signed-off-by: Russell King <rmk+kernel <at> arm.linux.org.uk>
---
 arch/arm/mm/proc-v7.S |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
index a30e785..dec72ee 100644
--- a/arch/arm/mm/proc-v7.S
+++ b/arch/arm/mm/proc-v7.S
@@ -66,6 +66,7 @@ ENDPROC(cpu_v7_proc_fin)
 ENTRY(cpu_v7_reset)
 	mrc	p15, 0, r1, c1, c0, 0		@ ctrl register
(Continue reading)

ARM: 7065/1: kexec: ensure new kernel is entered in ARM state

Gitweb:     http://git.kernel.org/linus/552e0c8da8ff7099e6fe060cd7ec36ae11f5465b
Commit:     552e0c8da8ff7099e6fe060cd7ec36ae11f5465b
Parent:     0ebb962e00a52b644433065d224ed89f72a84756
Author:     Will Deacon <will.deacon <at> arm.com>
AuthorDate: Fri Aug 26 16:32:57 2011 +0100
Committer:  Russell King <rmk+kernel <at> arm.linux.org.uk>
CommitDate: Sun Aug 28 10:39:41 2011 +0100

    ARM: 7065/1: kexec: ensure new kernel is entered in ARM state

    Commit 540b5738 ("ARM: 6999/1: head, zImage: Always Enter the kernel in
    ARM state") mandates that the kernel should be entered in ARM state.

    If a Thumb-2 kernel kexecs a new kernel image, we need to ensure that
    we change state when branching to the new code. This patch replaces a
    mov pc, lr with a bx lr on Thumb-2 kernels so that we transition to ARM
    state if need be.

    Reviewed-by: Dave Martin <dave.martin <at> linaro.org>
    Signed-off-by: Will Deacon <will.deacon <at> arm.com>
    Signed-off-by: Russell King <rmk+kernel <at> arm.linux.org.uk>
---
 arch/arm/kernel/relocate_kernel.S |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/arch/arm/kernel/relocate_kernel.S b/arch/arm/kernel/relocate_kernel.S
index 9cf4cbf..d0cdedf 100644
--- a/arch/arm/kernel/relocate_kernel.S
+++ b/arch/arm/kernel/relocate_kernel.S
@@ -57,7 +57,8 @@ relocate_new_kernel:
(Continue reading)


Gmane