aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-11-18Merge branch 'merge' of ↵Linus Torvalds9-11/+20
git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc: Update a BKL related comment powerpc/mm: Fix module instruction tlb fault handling on Book-E 64 powerpc: Fix call to subpage_protection() powerpc: Set CONFIG_32BIT on ppc32 powerpc/mm: Fix build error in setup_initial_memory_limit powerpc/pseries: Don't override CONFIG_PPC_PSERIES_DEBUG powerpc: Fix div64 in bootloader
2010-11-18ASoC: Add support for MAX98089 CODECJesse Marroquin1-1/+10
This patch adds initial support for the MAX98089 CODEC. Signed-off-by: Jesse Marroquin <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-18drm/ttm: Fix up a theoretical deadlockThomas Hellstrom1-0/+11
A process suspended waiting for a higher sequence or no sequence to unreserve, a bo may be beaten to the reservation by a process with a lower sequence. In that case the first process should give up trying to reserve and return -EAGAIN. In order for that to happen, we must wake waiting processes when we change sequence, so that they have a chance to detect the new sequence. Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-11-18Merge remote branch 'nouveau/for-airlied' of /ssd/git/drm-nouveau-next into ↵Dave Airlie29-223/+391
drm-fixes * 'nouveau/for-airlied' of /ssd/git/drm-nouveau-next: (25 commits) nouveau: Acknowledge HPD irq in handler, not bottom half drm/nouveau: Fix a few confusions between "chipset" and "card_type". drm/nouveau: don't expose backlight control when available through ACPI drm/nouveau/pm: improve memtiming mappings drm/nouveau: Make PCIE GART size depend on the available RAMIN space. drm/nouveau: Return error from nouveau_gpuobj_new if we're out of RAMIN. drm/nouveau: Fix compilation issues in nouveau_pm when CONFIG_HWMON is not set drm/nouveau: Don't use load detection for connector polling. drm/nv10-nv20: Fix instability after MPLL changes. drm/nv50: implement possible workaround for NV86 PGRAPH TLB flush hang drm/nouveau: Don't poll LVDS outputs. drm/nouveau: Use "force" to decide if analog load detection is ok or not. drm/nv04: Fix scanout over the 16MB mark. drm/nouveau: fix nv40 pcie gart size drm/nva3: fix overflow in fixed point math used for pll calculation drm/nv10: Balance RTs expected to be accessed simultaneously by the 3d engine. drm/nouveau: Expose some BO usage flags to userspace. drm/nouveau: Reduce severity of the unknown getparam error. drm/nouveau: Avoid lock dependency between ramht and ramin spinlocks. drm/nouveau: Some random cleanups. ...
2010-11-18drm/radeon/kms: fix tiling info on evergreenAlex Deucher1-1/+30
We aren't currently using tiling in userspace on evergreen, but the info we currently return for the tiling info query (gb_addr_config) is no adequate for userspace tiling alignment calculations. It does not contain the bank info. Create a custom tiling info dword with all the necessary info (num channels, num banks, group size, row size). Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-11-18drm/radeon/kms: fix alignment when allocating buffersAlex Deucher13-23/+25
We were previously dropping alignment requests on the floor when allocating buffers so we always ended up page aligned. Certain tiling modes on 6xx+ require larger alignment which wasn't happening before. Signed-off-by: Alex Deucher <[email protected]> Cc: Jerome Glisse <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-11-18drm/vmwgfx: Fix up an error path during bo creationThomas Hellstrom1-6/+8
Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-11-18drm/radeon/kms: register an i2c adapter name for the dp aux busAlex Deucher1-0/+1
This causes the connector to not be added since i2c init fails for the adapter. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=31688 Noticed by Ari Savolainen. Signed-off-by: Alex Deucher <[email protected]> Cc: Ari Savolainen <[email protected]> Cc: Jean Delvare <[email protected]> Cc: [email protected] Signed-off-by: Dave Airlie <[email protected]>
2010-11-18drm/radeon/kms/atom: add proper external encoders supportAlex Deucher2-0/+184
These are external encoder chips connected via DVO or DP. The actual external encoder programming is handled by the kms encoder functions for primary encoder. Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-11-18drm/radeon/kms/atom: cleanup and unify DVO handlingAlex Deucher4-46/+52
Handle all the various asic family specific things for DVO. Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-11-18drm/radeon/kms: properly power up/down the eDP panel as needed (v4)Alex Deucher3-0/+70
The eDP panel must be powered up for aux transactions, so power it up for detect and mode probe functions, otherwise power it up or down based on dpms. v2: - only mess with eDP panel on DCE4+ - only mess with eDP panel on eDP connectors, not all DP connectors v3: - be extra careful to only mess with eDP panels on eDP connectors v4: - avoid possible null derefernce if a connector has not been assigned to the encoder Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-11-18drm/radeon/kms/atom: set sane defaults in atombios_get_encoder_mode()Alex Deucher1-3/+15
If there was no connector mapped to the encoder, atombios_get_encoder_mode() returned 0 which is the id for DP. Return something sane instead based on the encoder id. This avoids hitting the DP paths on non-DP encoders. Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected] Signed-off-by: Dave Airlie <[email protected]>
2010-11-18drm/radeon/kms: turn the backlight off explicitly for dpmsAlex Deucher1-1/+14
Seems some newer systems require this explicitly. Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-11-18drm/radeon/kms: fix typo in r600 cs checkerAlex Deucher1-1/+1
Looks like a typo in: drm/radeon/r600: fix tiling issues in CS checker. (f30df2fad0c901e74ac9a52a488a54c69a373a41) Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-11-18drm: radeon: fix error value signVasiliy Kulikov1-2/+2
enable_vblank implementations should use negative result to indicate error. radeon_enable_vblank() returns EINVAL in this case. Change this to -EINVAL. Signed-off-by: Vasiliy Kulikov <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-11-18drm/radeon/kms: fix and unify tiled buffer alignment checking for r6xx/7xxAlex Deucher2-116/+199
Tiled buffers have the same alignment requirements regardless of whether the surface is for db, cb, or textures. Previously, the calculations where inconsistent for each buffer type. - Unify the alignment calculations in a common function - Standardize the alignment units (pixels for pitch/height/depth, bytes for base) - properly check the buffer base alignments Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-11-18nouveau: Acknowledge HPD irq in handler, not bottom halfAndy Lutomirski3-9/+33
The old code generated an interrupt storm bad enough to completely take down my system. Signed-off-by: Andy Lutomirski <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nouveau: Fix a few confusions between "chipset" and "card_type".Francisco Jerez3-3/+3
Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nouveau: don't expose backlight control when available through ACPIBen Skeggs1-0/+9
Avoid confusing userspace by not publishing backlight controls if ACPI equivalents are available. Reported-by: Aaron Sowry <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nouveau/pm: improve memtiming mappingsRoy Spliet1-12/+19
Improvements: - Fix bug in switch statement - Add parts of 0x10022c, 0x10023c - Clean up 0x100234 - Comment out assumption in 0x100228 until verified Signed-off-by: Roy Spliet <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nouveau: Make PCIE GART size depend on the available RAMIN space.Francisco Jerez1-5/+5
Reported-by: Tomas Miljenovic <[email protected]> Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nouveau: Return error from nouveau_gpuobj_new if we're out of RAMIN.Francisco Jerez1-1/+1
Reported-by: Tomas Miljenovic <[email protected]> Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nouveau: Fix compilation issues in nouveau_pm when CONFIG_HWMON is not setMartin Peres1-1/+6
Signed-off-by: Martin Peres <[email protected]> Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nouveau: Don't use load detection for connector polling.Francisco Jerez1-23/+2
Analog output polling makes GL programs jerky when pageflip is being used because it's carried out with the mode_config mutex held. Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nv10-nv20: Fix instability after MPLL changes.Francisco Jerez1-0/+9
Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nv50: implement possible workaround for NV86 PGRAPH TLB flush hangBen Skeggs7-13/+82
Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nouveau: Don't poll LVDS outputs.Francisco Jerez1-4/+6
Reported-by: Xavier Chantry <[email protected]> Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nouveau: Use "force" to decide if analog load detection is ok or not.Francisco Jerez3-49/+28
Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nv04: Fix scanout over the 16MB mark.Francisco Jerez2-1/+20
Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nouveau: fix nv40 pcie gart sizeLucas Stach1-1/+5
Nouveau sets the PCIE GART size to 64MiB for all cards before nv50, but nv40 has enough RAMIN space to support 512MiB GART size. This patch fixes this value to make use of this hardware capability. Signed-off-by: Lucas Stach <[email protected]> Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nva3: fix overflow in fixed point math used for pll calculationBen Skeggs1-6/+10
And a slight tweak which gets us closer to VBIOS-calculated numbers. Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nv10: Balance RTs expected to be accessed simultaneously by the 3d engine.Francisco Jerez1-0/+28
Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nouveau: Expose some BO usage flags to userspace.Francisco Jerez6-22/+46
This will be needed for Z compression and to take smarter placement decisions. Signed-off-by: Francisco Jerez <[email protected]> Acked-by: Ben Skeggs <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nouveau: Reduce severity of the unknown getparam error.Francisco Jerez1-2/+2
Signed-off-by: Francisco Jerez <[email protected]> Acked-by: Ben Skeggs <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nouveau: Avoid lock dependency between ramht and ramin spinlocks.Francisco Jerez1-27/+44
The ramht code called some gpuobj functions with the HARDIRQ-safe RAMHT spinlock held, this could potentially lead to a dead lock because ramin_lock is HARDIRQ-unsafe. Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nouveau: Some random cleanups.Francisco Jerez3-50/+16
Remove some unused/duplicated definitions and make sparse happy again. Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nv11: Fix bad PLL detection false positive.Francisco Jerez1-4/+4
Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nv04-nv40: Fall back to panel rescaling if we have no usable native mode.Francisco Jerez1-6/+7
This allows the user to set a mode larger than the native one, useful if we had trouble finding the actual native mode (e.g. because it goes above the hardware bandwidth limits). Reported-by: Grzesiek Sójka <[email protected]> Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nouveau: Reject modes exceeding the integrated TMDS maximum bandwidth.Francisco Jerez1-6/+21
Reported-by: Grzesiek Sójka <[email protected]> Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nouveau: Fix sleep while atomic in the semaphore code.Francisco Jerez1-1/+6
Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18drm/nouveau: ratelimit IRQ messagesJiri Slaby1-12/+14
There are two messages in the ISR of nouveau which might be printed out hundred times in a second. Ratelimit them. (We need to move nouveau_ratelimit to the top of the file.) Signed-off-by: Jiri Slaby <[email protected]> Reviewed-by: Marcin Slusarz <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-11-18powerpc: Update a BKL related commentAlessio Igor Bogani1-3/+2
The commit 5e3d20a remove bkl from startup code so setup_arch() it isn't called with bkl held anymore. Update the comment on top of that function. Fix also a typo. This work was supported by a hardware donation from the CE Linux Forum. Signed-off-by: Alessio Igor Bogani <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2010-11-18powerpc/mm: Fix module instruction tlb fault handling on Book-E 64Kumar Gala1-1/+4
We were seeing oops like the following when we did an rmmod on a module: Unable to handle kernel paging request for instruction fetch Faulting instruction address: 0x8000000000008010 Oops: Kernel access of bad area, sig: 11 [#1] SMP NR_CPUS=2 P5020 DS last sysfs file: /sys/devices/qman-portals.2/qman-pool.9/uevent Modules linked in: qman_tester(-) NIP: 8000000000008010 LR: c000000000074858 CTR: 8000000000008010 REGS: c00000002e29bab0 TRAP: 0400 Not tainted (2.6.34.6-00744-g2d21f14) MSR: 0000000080029000 <EE,ME,CE> CR: 24000448 XER: 00000000 TASK = c00000007a8be600[4987] 'rmmod' THREAD: c00000002e298000 CPU: 1 GPR00: 8000000000008010 c00000002e29bd30 8000000000012798 c00000000035fb28 GPR04: 0000000000000002 0000000000000002 0000000024022428 c000000000009108 GPR08: fffffffffffffffe 800000000000a618 c0000000003c13c8 0000000000000000 GPR12: 0000000022000444 c00000000fffed00 0000000000000000 0000000000000000 GPR16: 00000000100c0000 0000000000000000 00000000100dabc8 0000000010099688 GPR20: 0000000000000000 00000000100cfc28 0000000000000000 0000000010011a44 GPR24: 00000000100017b2 0000000000000000 0000000000000000 0000000000000880 GPR28: c00000000035fb28 800000000000a7b8 c000000000376d80 c0000000003cce50 NIP [8000000000008010] .test_exit+0x0/0x10 [qman_tester] LR [c000000000074858] .SyS_delete_module+0x1f8/0x2f0 Call Trace: [c00000002e29bd30] [c0000000000748b4] .SyS_delete_module+0x254/0x2f0 (unreliable) [c00000002e29be30] [c000000000000580] syscall_exit+0x0/0x2c Instruction dump: XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 38600000 4e800020 60000000 60000000 <4e800020> 60000000 60000000 60000000 ---[ end trace 4f57124939a84dc8 ]--- This appears to be due to checking the wrong permission bits in the instruction_tlb_miss handling if the address that faulted was in vmalloc space. We need to look at the supervisor execute (_PAGE_BAP_SX) bit and not the user bit (_PAGE_BAP_UX/_PAGE_EXEC). Also removed a branch level since it did not appear to be used. Reported-by: Jeffrey Ladouceur <[email protected]> Signed-off-by: Kumar Gala <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2010-11-18powerpc: Fix call to subpage_protection()Michael Neuling1-1/+1
In: powerpc/mm: Fix pgtable cache cleanup with CONFIG_PPC_SUBPAGE_PROT commit d28513bc7f675d28b479db666d572e078ecf182d Author: David Gibson <[email protected]> subpage_protection() was changed to to take an mm rather a pgdir but it didn't change calling site in hashpage_preload(). The change wasn't noticed at compile time since hashpage_preload() used a void* as the parameter to subpage_protection(). This is obviously wrong and can trigger the following crash when CONFIG_SLAB, CONFIG_DEBUG_SLAB, CONFIG_PPC_64K_PAGES CONFIG_PPC_SUBPAGE_PROT are enabled. Freeing unused kernel memory: 704k freed Unable to handle kernel paging request for data at address 0x6b6b6b6b6b6c49b7 Faulting instruction address: 0xc0000000000410f4 cpu 0x2: Vector: 300 (Data Access) at [c00000004233f590] pc: c0000000000410f4: .hash_preload+0x258/0x338 lr: c000000000041054: .hash_preload+0x1b8/0x338 sp: c00000004233f810 msr: 8000000000009032 dar: 6b6b6b6b6b6c49b7 dsisr: 40000000 current = 0xc00000007e2c0070 paca = 0xc000000007fe0500 pid = 1, comm = init enter ? for help [c00000004233f810] c000000000041020 .hash_preload+0x184/0x338 (unreliable) [c00000004233f8f0] c00000000003ed98 .update_mmu_cache+0xb0/0xd0 [c00000004233f990] c000000000157754 .__do_fault+0x48c/0x5dc [c00000004233faa0] c000000000158fd0 .handle_mm_fault+0x508/0xa8c [c00000004233fb90] c0000000006acdd4 .do_page_fault+0x428/0x6ac [c00000004233fe30] c000000000005260 handle_page_fault+0x20/0x74 Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2010-11-18powerpc: Set CONFIG_32BIT on ppc32kerstin jonsson1-0/+4
commit ffe8018c3424892c9590048fc36caa6c3e0c8a76 of the -mm tree fixes the initramfs size calculation for e.g. s390 but breaks it for 32bit architectures which do not define CONFIG_32BIT. This patch fix the problem for PPC32 which will elsewise end up with a __initramfs_size of 0. Signed-off-by: Kerstin Jonsson <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2010-11-18powerpc/mm: Fix build error in setup_initial_memory_limitKumar Gala1-1/+1
arch/powerpc/mm/tlb_nohash.c: In function 'setup_initial_memory_limit': arch/powerpc/mm/tlb_nohash.c:588:29: error: 'ppc64_memblock_base' undeclared (first use in this function) arch/powerpc/mm/tlb_nohash.c:588:29: note: each undeclared identifier is reported only once for each function it appears in Due to a copy/paste typo with the following commit: commit cd3db0c4ca3d237e7ad20f7107216e575705d2b0 Author: Benjamin Herrenschmidt <[email protected]> Date: Tue Jul 6 15:39:02 2010 -0700 memblock: Remove rmo_size, burry it in arch/powerpc where it belongs Signed-off-by: Kumar Gala <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2010-11-18powerpc/pseries: Don't override CONFIG_PPC_PSERIES_DEBUGNishanth Aravamudan3-4/+6
EEH and pci_dlpar #undef DEBUG, but I think they were added before the ability to control this from Kconfig. It's really annoying to only get some of the debug messages from these files. Leave the lpar.c #undef alone as it produces so much output as to make the kernel unusable. Update the Kconfig text to indicate this particular quirk :) Signed-off-by: Nishanth Aravamudan <[email protected]> Acked-by: Michael Ellerman <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2010-11-18powerpc: Fix div64 in bootloaderBenjamin Herrenschmidt1-1/+2
The code is missing a fix that went into the main kernel variant (we should try to share that code again at some stage) Reported-by: Albert Cahalan <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2010-11-17jbd2: fix /proc/fs/jbd2/<dev> when using an external journalyangsheng1-8/+8
In jbd2_journal_init_dev(), we need make sure the journal structure is fully initialzied before calling jbd2_stats_proc_init(). Reviewed-by: Andreas Dilger <[email protected]> Signed-off-by: yangsheng <[email protected]> Signed-off-by: "Theodore Ts'o" <[email protected]>
2010-11-17ext4: missing unlock in ext4_clear_request_list()Dan Carpenter1-3/+0
If the the li_request_list was empty then it returned with the lock held. Instead of adding a "goto unlock" I just removed that special case and let it go past the empty list_for_each_safe(). Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: "Theodore Ts'o" <[email protected]>