aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-11-15drm/radeon: allow semaphore emission to failChristian König
To workaround bugs and/or certain limits it's sometimes useful to fall back to waiting on fences. Signed-off-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
2013-11-15drm/radeon: add semaphore trace pointChristian König
Signed-off-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
2013-11-15radeon: workaround pinning failure on low ram gpuJerome Glisse
GPU with low amount of ram can fails at pinning new framebuffer before unpinning old one. On such failure, retry with unpinning old one before pinning new one allowing to work around the issue. This is somewhat ugly but only affect those old GPU we care about. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
2013-11-15radeon/i2c: do not count reg index in number of i2c byte we are writing.Jerome Glisse
Useless to count the register index in number of bytes we are writing. Fixes a regression with hw i2c enabled. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
2013-11-15drm/radeon: cypress_dpm: Fix unused variable warning when CONFIG_ACPI=nAlex Deucher
With CONFIG_ACPI=n the following build warning is seen: drivers/gpu/drm/radeon/cypress_dpm.c:302:31: warning: unused variable 'eg_pi' [-Wunused-variable] Protect eg_pi with CONFIG_ACPI. Based on patch from: Fabio Estevam <fabio.estevam@freescale.com> but doesn't mix allocation and code. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-11-15drm: radeon: ni_dpm: Fix unused variable warning when CONFIG_ACPI=nFabio Estevam
With CONFIG_ACPI=n the following build warning is seen: drivers/gpu/drm/radeon/ni_dpm.c:3448:31: warning: unused variable 'eg_pi' [-Wunused-variable] Move the definition of eg_pi inside the CONFIG_ACPI 'if' block. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-11-15drm: check for !kdev in drm_unplug_minor()David Herrmann
We moved minor deallocation to drm_dev_free() in: commit 8f6599da8e772fa8de54cdf98e9e03cbaf3946da Author: David Herrmann <dh.herrmann@gmail.com> Date: Sun Oct 20 18:55:45 2013 +0200 drm: delay minor destruction to drm_dev_free() However, this causes a call to drm_unplug_minor(), which should just do nothing as drm_dev_unregister() already called this. But a separate patch caused kdev lifetime changes: commit 5bdebb183c9702a8c57a01dff09337be3de337a6 Author: Dave Airlie <airlied@redhat.com> Date: Fri Oct 11 14:07:25 2013 +1000 drm/sysfs: sort out minor and connector device object lifetimes. Thus making our dev_is_registered() call useles (and even segfault if it is NULL). Replace it with a simple !kdev test and we're fine. Reported-by: Huax Lu <huax.lu@intel.com> Reported-by: Daniel Vetter <daniel@ffwll.ch> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71208 Tested-by: lu hua <huax.lu@intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: David Herrmann <dh.herrmann@gmail.com> Signed-off-by: Dave Airlie <airlied@gmail.com>
2013-11-15Merge branch 'drm-nouveau-next' of ↵Dave Airlie
git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next - Page flipping fixes, with support for syncing them to vblank (finally...). - Misc other general fixes * 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: drm/nouveau: do not map evicted vram buffers in nouveau_bo_vma_add drm/nvc0-/gr: shift wrapping bug in nvc0_grctx_generate_r406800 drm/nouveau/pwr: fix missing mutex unlock in a failure path drm/nv40/therm: fix slowing down fan when pstate undefined drm/nv11-: synchronise flips to vblank, unless async flip requested drm/nvc0-: remove nasty fifo swmthd hack for flip completion method drm/nv10-: we no longer need to create nvsw object on user channels drm/nouveau: always queue flips relative to kernel channel activity drm/nouveau: there is no need to reserve/fence the new fb when flipping drm/nouveau: when bailing out of a pushbuf ioctl, do not remove previous fence drm/nouveau: allow nouveau_fence_ref() to be a noop drm/nvc8/mc: msi rearm is via the nvc0 method
2013-11-14drm/nouveau: do not map evicted vram buffers in nouveau_bo_vma_addMaarten Lankhorst
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-14drm/nvc0-/gr: shift wrapping bug in nvc0_grctx_generate_r406800Dan Carpenter
We care about the upper 32 bits here so we have to use 1ULL instead of 1 to avoid a shift wrapping bug. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-14drm/nouveau/pwr: fix missing mutex unlock in a failure pathBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-14drm/nv40/therm: fix slowing down fan when pstate undefinedBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-14drm/nv11-: synchronise flips to vblank, unless async flip requestedBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-14drm/nvc0-: remove nasty fifo swmthd hack for flip completion methodBen Skeggs
Not required anymore as flips are always done on the kernel's channel, which means we can use a proper software object class instead. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-14drm/nv10-: we no longer need to create nvsw object on user channelsBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-14drm/nouveau: always queue flips relative to kernel channel activityBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-14drm/nouveau: there is no need to reserve/fence the new fb when flippingBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-14drm/nouveau: when bailing out of a pushbuf ioctl, do not remove previous fenceBen Skeggs
Cc: stable@vger.kernel.org Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-14drm/nouveau: allow nouveau_fence_ref() to be a noopBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-14drm/nvc8/mc: msi rearm is via the nvc0 methodBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-14Merge branch 'drm-next-3.13' of git://people.freedesktop.org/~agd5f/linux ↵Dave Airlie
into drm-next One last patch I keep forgetting to include. Fix for EDID quirk handling. Been on the list and reviewed for several months now, I just keep forgetting about it. * 'drm-next-3.13' of git://people.freedesktop.org/~agd5f/linux: drm/edid: compare actual vrefresh for all modes for quirks
2013-11-14Merge tag 'drm-intel-fixes-2013-11-12' of ↵Dave Airlie
git://people.freedesktop.org/~danvet/drm-intel into drm-next Just one patch to fix compile fail for CONFIG_ACPI=n. Figured I better send this out quickly to minimize the broken build span. Otherwise no bugfixes (besides some bdw stuff) anywhere in sight. * tag 'drm-intel-fixes-2013-11-12' of git://people.freedesktop.org/~danvet/drm-intel: drm/i915/opregion: fix build error on CONFIG_ACPI=n
2013-11-14Merge branch 'ttm-next-3.13' of git://people.freedesktop.org/~thomash/linux ↵Dave Airlie
into drm-next The page-prot bit fix. * 'ttm-next-3.13' of git://people.freedesktop.org/~thomash/linux: drm/ttm: Fix vma page_prot bit manipulation
2013-11-14Merge branch 'vmwgfx-next-3.13' of ↵Dave Airlie
git://people.freedesktop.org/~thomash/linux into drm-next A resource eviction fix, and a fix for compilation / sparse problems from the previous pull. * 'vmwgfx-next-3.13' of git://people.freedesktop.org/~thomash/linux: drm/vmwgfx: Fix a couple of compile / sparse warnings and errors drm/vmwgfx: Resource evict fixes
2013-11-12drm/ttm: Fix vma page_prot bit manipulationThomas Hellstrom
Fix a long-standing TTM issue where we manipulated the vma page_prot bits while mmap_sem was taken in read mode only. We now make a local copy of the vma structure which we pass when we set the ptes. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Jerome Glisse <jglisse@redhat.com>
2013-11-12drm/vmwgfx: Fix a couple of compile / sparse warnings and errorsThomas Hellstrom
Fixes *) an implicit function declaration on mips, *) a defined but not used label on !CONFIG_INTEL_IOMMU *) Hopefully a couple of sparse warnings where we implicitly typecast integer to __le32 and vice versa. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Brian Paul <brianp@vmware.com>
2013-11-12drm/vmwgfx: Resource evict fixesThomas Hellstrom
Fix an error message that was incorrectly blaming device resource id shortage. Also make sure we correctly catch resource eviction errors, that could otherwise lead to evictable resources temporarily not being on the LRU list. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com> Cc: stable@vger.kernel.org
2013-11-11drm/edid: compare actual vrefresh for all modes for quirksAlex Deucher
The vrefresh field of the mode is 0 for most modes fetched from the EDID (e.g., established timings). When dealing with monitors that have a bogus preferred mode, we may not always select the mode we want because we compare the target refresh to the mode's vrefresh which is 0 in a lot of cases. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2013-11-11Merge branch 'gma500-next' of git://github.com/patjak/drm-gma500 into drm-nextDave Airlie
SDVO support for minnowboard * 'gma500-next' of git://github.com/patjak/drm-gma500: drm/gma500/mrst: Add SDVO to output init drm/gma500/mrst: Don't blindly guess a mode for LVDS drm/gma500/mrst: Setup GMBUS for oaktrail/mrst drm/gma500/mrst: Replace WMs and chickenbits with values from EMGD drm/gma500/mrst: Add aux register writes to SDVO drm/gma500/mrst: Properly route oaktrail hdmi hooks drm/gma500/mrst: Add aux register writes when programming pipe drm/gma500/mrst: Add SDVO clock calculation drm/gma500: Add aux device support for gmbus drm/gma500: Add support for aux pci vdc device drm/gma500: Add chip specific sdvo masks drm/gma500: Add Minnowboard to the IS_MRST() macro
2013-11-10drm: shmob_drm: Convert to clk_prepare/unprepareLaurent Pinchart
Turn clk_enable() and clk_disable() calls into clk_prepare_enable() and clk_disable_unprepare() to get ready for the migration to the common clock framework. Cc: David Airlie <airlied@linux.ie> Cc: dri-devel@lists.freedesktop.org Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-11-10Merge tag 'bdw-stage1-2013-11-08-v2' of ↵Dave Airlie
git://people.freedesktop.org/~danvet/drm-intel into drm-next So here's the Broadwell pull request. From a kernel driver pov there's two areas with big changes in Broadwell: - Completely new enumerated interrupt bits. On the plus side it now looks fairly unform and sane. - Completely new pagetable layout. To ensure minimal impact on existing platforms we've refactored both the irq and low-level gtt handling code a lot in anticipation of the bdw push. So now bdw enabling in these areas just plugs in a bunch of vfuncs. Otherwise it's all fairly harmless adjusting of switch cases and if-ladders to shovel bdw into the right blocks. So minimized impact on existing platforms. I've also merged the bdw-stage1 branch into our -nightly integration branch for the past week to make sure we don't break anything. Note that there's still quite a flurry or patches floating around, but I've figured I'll push this out. I plan to keep the bdw fixes separate from my usual -fixes stream so that you can reject them easily in case it still looks like too much churn. Also, bdw is for now hidden behind the preliminary hw enabling module option. So there's no real pressure to get follow-up patches all into 3.13. * tag 'bdw-stage1-2013-11-08-v2' of git://people.freedesktop.org/~danvet/drm-intel: (75 commits) drm/i915: Mask the vblank interrupt on bdw by default drm/i915: Wire up cpu fifo underrun reporting support for bdw drm/i915: Optimize gen8_enable|disable_vblank functions drm/i915: Wire up pipe CRC support for bdw drm/i915: Wire up PCH interrupts for bdw drm/i915: Wire up port A aux channel drm/i915: Fix up the bdw pipe interrupt enable lists drm/i915: Optimize pipe irq handling on bdw drm/i915/bdw: Take render error interrupt out of the mask drm/i915/bdw: Add BDW PCH check first drm/i915: Use hsw_crt_get_config on BDW drm/i915/bdw: Change dp aux timeout to 600us on DDIA drm/i915/bdw: Enable trickle feed on Broadwell drm/i915/bdw: WaSingleSubspanDispatchOnAALinesAndPoints drm/i915/bdw: conservative SBE VUE cache mode drm/i915/bdw: Limit SDE poly depth FIFO to 2 drm/i915/bdw: Sampler power bypass disable ddrm/i915/bdw: Disable centroid pixel perf optimization drm/i915/bdw: BWGTLB clock gate disable drm/i915/bdw: Implement edp PSR workarounds ...
2013-11-10Merge branch 'drm-next-3.13' of git://people.freedesktop.org/~agd5f/linux ↵Dave Airlie
into drm-next A few more patches for 3.13. The big one here is Hawaii support. I wanted to get that out sooner, but was sick earlier this week. That said, it's mostly self contained, so it shouldn't impact other asics. The rest are just bug fixes and a merge fix. * 'drm-next-3.13' of git://people.freedesktop.org/~agd5f/linux: (23 commits) Revert "drm/radeon/audio: don't set speaker allocation on DCE4+" drm/radeon/audio: improve ACR calculation drm/radeon/audio: correct ACR table drm/radeon: fix mismerge of drm-next with 3.12 drm/radeon: add pci ids for hawaii drm/radeon: fill in radeon_asic_init for hawaii drm/radeon: modesetting updates for hawaii drm/radeon: atombios.h updates for hawaii drm/radeon: update cik_get_csb_buffer for hawaii drm/radeon: add hawaii dpm support drm/radeon/cik: add hawaii UVD support drm/radeon: update firmware loading for hawaii drm/radeon: update rb setup for hawaii drm/radeon: add golden register settings for hawaii drm/radeon: update cik_tiling_mode_table_init() for hawaii drm/radeon: minor updates to cik.c for hawaii drm/radeon: update cik_gpu_init() for hawaii drm/radeon: add Hawaii chip family drm/radeon: fix-up some float to fixed conversion thinkos drm/radeon: use HDP_MEM_COHERENCY_FLUSH_CNTL for sdma as well ...
2013-11-10Merge branch 'msm-next' of git://people.freedesktop.org/~robclark/linux into ↵Dave Airlie
drm-next prime support, inactive rework, render nodes * 'msm-next' of git://people.freedesktop.org/~robclark/linux: drm/msm/mdp4: page_flip cleanups/fixes drm/msm: EBUSY status handling in msm_gem_fault() drm/msm: rework inactive-work drm/msm: add plane support drm/msm: resync generated headers drm/msm: support render nodes drm/msm: prime support
2013-11-10drm/nouveau: fix 32-bit buildDave Airlie
This uses the proper div macro. Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-11-08drm/i915/opregion: fix build error on CONFIG_ACPI=nJani Nikula
Fix CONFIG_ACPI=n build fail CC drivers/gpu/drm/i915/intel_opregion.o drivers/gpu/drm/i915/intel_opregion.c: In function ‘intel_opregion_setup’: drivers/gpu/drm/i915/intel_opregion.c:879:2: error: ‘asle_work’ undeclared (first use in this function) drivers/gpu/drm/i915/intel_opregion.c:879:2: note: each undeclared identifier is reported only once for each function it appears in make[4]: *** [drivers/gpu/drm/i915/intel_opregion.o] Error 1 introduced in commit 91a60f20712179e56b7a6c3d332a5f6f9a54aa11 Author: Jani Nikula <jani.nikula@intel.com> Date: Thu Oct 31 18:55:48 2013 +0200 drm/i915: move opregion asle request handling to a work queue Reported-by: Jim Davis <jim.epost@gmail.com> Reference: http://lkml.kernel.org/r/CA+r1ZhjcFpr5KKVX0pLCOP8cAyZoiYO=UyqYMJtNSV-Kt_p7xQ@mail.gmail.com Signed-off-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-11-08Revert "drm/radeon/audio: don't set speaker allocation on DCE4+"Alex Deucher
This reverts commit 555b1b651acf44bf27ebbb04235d38a8fd2d58dc. Let's try this again for 3.13. It's required for proper interaction with alsa. Was disabled previously in 3.12 to be on the safe side since it caused problems on older asics.
2013-11-08drm/radeon/audio: improve ACR calculationPierre Ossman
In order to have any realistic chance of calculating proper ACR values, we need to be able to calculate both N and CTS, not just CTS. We still aim for the ideal N as specified in the HDMI spec though. bug: https://bugs.freedesktop.org/show_bug.cgi?id=69675 Signed-off-by: Pierre Ossman <pierre@ossman.eu> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-11-08drm/radeon/audio: correct ACR tablePierre Ossman
The values were taken from the HDMI spec, but they assumed exact x/1.001 clocks. Since we round the clocks, we also need to calculate different N and CTS values. Note that the N for 25.2/1.001 MHz at 44.1 kHz audio is out of spec. Hopefully this mode is rarely used and/or HDMI sinks tolerate overly large values of N. bug: https://bugs.freedesktop.org/show_bug.cgi?id=69675 Signed-off-by: Pierre Ossman <pierre@ossman.eu> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-11-08drm/radeon: fix mismerge of drm-next with 3.12Alex Deucher
Audio is enabled by default now. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-11-08drm/radeon: add pci ids for hawaiiAlex Deucher
This adds the pci ids for hawaii. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-11-08drm/radeon: fill in radeon_asic_init for hawaiiAlex Deucher
Fill in gpu details for hawaii. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-11-08drm/radeon: modesetting updates for hawaiiAlex Deucher
Uses the same code as bonaire. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-11-08drm/radeon: atombios.h updates for hawaiiAlex Deucher
This updates atombios.h with the latest changes required for hawaii. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-11-08drm/radeon: update cik_get_csb_buffer for hawaiiAlex Deucher
Set the PA_SC_RASTER_CONFIG[_1] registers for hawaii. The rest is the same as the other asics. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-11-08drm/radeon: add hawaii dpm supportAlex Deucher
This updates the CI dpm (dynamic power management) support for hawaii. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-11-08drm/radeon/cik: add hawaii UVD supportAlex Deucher
Has same version of UVD as other CIK parts. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-11-08drm/radeon: update firmware loading for hawaiiAlex Deucher
This just updates the firmware loading functions to look for the appropriate firmware files for hawaii. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-11-08drm/radeon: update rb setup for hawaiiAlex Deucher
The formula needs to be adjusted since there are 4 RBs per SH rather than 2 as on previous asics. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-11-08drm/radeon: add golden register settings for hawaiiAlex Deucher
The golden register settings are optimal settings for certain registers from the hardware team. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-11-08drm/radeon: update cik_tiling_mode_table_init() for hawaiiAlex Deucher
Hawaii uses a different tiling configuration. Add support for it. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>