Tomeu Vizoso
9edbf1fa60
drm: Add API for capturing frame CRCs
...
Adds files and directories to debugfs for controlling and reading frame
CRCs, per CRTC:
dri/0/crtc-0/crc
dri/0/crtc-0/crc/control
dri/0/crtc-0/crc/data
Drivers can implement the set_crc_source callback() in drm_crtc_funcs to
start and stop generating frame CRCs and can add entries to the output
by calling drm_crtc_add_crc_entry.
v2:
- Lots of good fixes suggested by Thierry.
- Added documentation.
- Changed the debugfs layout.
- Moved to allocate the entries circular queue once when frame
generation gets enabled for the first time.
v3:
- Use the control file just to select the source, and start and stop
capture when the data file is opened and closed, respectively.
- Make variable the number of CRC values per entry, per source.
- Allocate entries queue each time we start capturing as now there
isn't a fixed number of CRC values per entry.
- Store the frame counter in the data file as a 8-digit hex number.
- For sources that cannot provide useful frame numbers, place
XXXXXXXX in the frame field.
v4:
- Build only if CONFIG_DEBUG_FS is enabled.
- Use memdup_user_nul.
- Consolidate calculation of the size of an entry in a helper.
- Add 0x prefix to hex numbers in the data file.
- Remove unnecessary snprintf and strlen usage in read callback.
v5:
- Made the crcs array in drm_crtc_crc_entry fixed-size
- Lots of other smaller improvements suggested by Emil Velikov
v7:
- Move definition of drm_debugfs_crtc_crc_add to drm_internal.h
v8:
- Call debugfs_remove_recursive when we fail to create the minor
device
v9:
- Register the debugfs directory for a crtc from
drm_crtc_register_all()
v10:
- Don't let debugfs failures interrupt CRTC registration (Emil
Velikov)
v11:
- Remove extra brace that broke compilation. Sorry!
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Acked-by: Benjamin Gaignard <benjamin.gaignard@linaro.org >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/1475767268-14379-3-git-send-email-tomeu.vizoso@collabora.com
2016-10-17 16:44:34 +02:00
Stefan Agner
865afb1194
drm/fb-helper: reject any changes to the fbdev
...
The current fbdev emulation does not allow to push back changes in
width, height or depth to KMS, hence reject any changes with an
error. This makes sure that fbdev ioctl's fail properly and user
space does not assume that changes succeeded.
Signed-off-by: Stefan Agner <stefan@agner.ch >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/20161011231504.17688-1-stefan@agner.ch
2016-10-17 16:42:41 +02:00
Chris Wilson
a28187ccab
drm/edid: Use block local to refer to the block
...
Now that we have the name "block" free once more, we can use it to point
to the start of a block within the edid.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/20161017083514.21772-2-chris@chris-wilson.co.uk
2016-10-17 14:28:06 +02:00
Chris Wilson
f14f368670
drm/edid: Rename local variable block to edid
...
The "block" variable points to the entire edid, not individual blocks
despite it being named such.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/20161017083514.21772-1-chris@chris-wilson.co.uk
2016-10-17 14:26:05 +02:00
Shashank Sharma
a68362fe3e
drm: Add and handle new aspect ratios in DRM layer
...
HDMI 2.0/CEA-861-F introduces two new aspect ratios:
- 64:27
- 256:135
This patch:
- Adds new DRM flags for to represent these new aspect ratios.
- Adds new cases to handle these aspect ratios while converting
from user->kernel mode or vise versa.
V2: Rebase
V3: Align macro for DRM_MODE_PICTURE_ASPECT_256_135 (Jim Bride)
V4: Added r-b from Jose.
Signed-off-by: Shashank Sharma <shashank.sharma@intel.com >
Reviewed-by: Sean Paul <seanpaul@chromium.org >
Reviewed-by: Jose Abreu <Jose.Abreu@synopsys.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Emil Velikov <emil.l.velikov@gmail.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/1476705880-15600-5-git-send-email-shashank.sharma@intel.com
2016-10-17 14:23:58 +02:00
Shashank Sharma
6dffd431e2
drm: Add aspect ratio parsing in DRM layer
...
Current DRM layer functions don't parse aspect ratio information
while converting a user mode->kernel mode or vice versa. This
causes modeset to pick mode with wrong aspect ratio, eventually
causing failures in HDMI compliance test cases, due to wrong VIC.
This patch adds aspect ratio information in DRM's mode conversion
and mode comparision functions, to make sure kernel picks mode
with right aspect ratio (as per the VIC).
V2: Addressed review comments from Sean:
- Fix spellings/typo
- No need to handle aspect ratio none
- Add a break, for default case too
V3: Rebase
V4: Added r-b from Jose
Signed-off-by: Shashank Sharma <shashank.sharma@intel.com >
Signed-off-by: Lin, Jia <lin.a.jia@intel.com >
Signed-off-by: Akashdeep Sharma <akashdeep.sharma@intel.com >
Reviewed-by: Jim Bride <jim.bride@linux.intel.com >
Reviewed-by: Jose Abreu <Jose.Abreu@synopsys.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Emil Velikov <emil.l.velikov@gmail.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/1476705880-15600-3-git-send-email-shashank.sharma@intel.com
2016-10-17 14:23:29 +02:00
Ville Syrjälä
bfd02b3c55
drm/i915: Suppress underruns during DP link retraining
...
DP link retraining causes (spurious?) underruns. We can't really avoid
them, except perhaps by doing a full modeset (which has its own underrun
suppression anyway). So let's just hide them.
MST still has its own logic for retrainin, but a bigger hpd handling
cleanup/unification is needed there anyway, so let's leave that be for now.
References: https://bugs.freedesktop.org/show_bug.cgi?id=98251
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: http://patchwork.freedesktop.org/patch/msgid/1476464574-32230-3-git-send-email-ville.syrjala@linux.intel.com
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk >
2016-10-17 14:53:52 +03:00
Ville Syrjälä
65f2130cbd
drm/i915: Extract intel_crtc_pch_transcoder()
...
Extract the code to determine which PCH transcoder we're using to a
small helper.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: http://patchwork.freedesktop.org/patch/msgid/1476464574-32230-2-git-send-email-ville.syrjala@linux.intel.com
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk >
2016-10-17 14:51:15 +03:00
Ville Syrjälä
862372bc8f
drm/i915: GMBUS don't need no forcewake
...
GMBUS is part of the display engine, and thus has no need for
forcewake. Let's not bother trying to grab it then.
I don't recall if the display engine suffers from system hangs
due to multiple accesses to the same "cacheline" in mmio space.
I hope not since we're no longer protected by the uncore lock
since commit 4e6c2d58ba ("drm/i915: Take forcewake once for
the entire GMBUS transaction")
Cc: Chris Wilson <chris@chris-wilson.co.uk >
Cc: David Weinehall <david.weinehall@linux.intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: http://patchwork.freedesktop.org/patch/msgid/1476272687-15070-1-git-send-email-ville.syrjala@linux.intel.com
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk >
2016-10-17 14:26:42 +03:00
Daniel Vetter
06a75ace46
Merge tag 'gvt-next-2016-10-14' of https://github.com/01org/gvt-linux into drm-intel-next-queued
...
Zhenyu Wang writes:
This is first pull request to merge GVT-g device model in i915
which contains core GVT-g device model work to virtualize GPU
resources. This tries to add feature of Intel GVT-g technology
for full GPU virtualization. This version will support KVM based
virtualization solution named as KVMGT.
More background is on official project home: https://01.org/igvt-g
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
2016-10-17 09:14:05 +02:00
Wei Yongjun
4ad3e92c28
gpu: ipu-v3: Use ERR_CAST instead of ERR_PTR(PTR_ERR())
...
Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(...)).
Generated by: scripts/coccinelle/api/err_cast.cocci
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com >
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de >
2016-10-17 08:21:53 +02:00
Arnd Bergmann
3e3affe549
drm/imx: hide an unused label
...
The imx_drm_bind function causes a warning in linux-next when
CONFIG_DRM_FBDEV_EMULATION is not set:
drivers/gpu/drm/imx/imx-drm-core.c: In function 'imx_drm_bind':
drivers/gpu/drm/imx/imx-drm-core.c:441:1: error: label 'err_unbind' defined but not used [-Werror=unused-label]
I don't understand why the warning only showed up now, as the
code has not been modified recently, but there is an obvious
fix in adding another #if for the symbol.
Signed-off-by: Arnd Bergmann <arnd@arndb.de >
Fixes: c1ff5a7aa3 ("drm/imx: Remove local fbdev emulation Kconfig option")
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de >
2016-10-17 08:21:53 +02:00
Dmitry Vyukov
49521b13cb
drivers/gpu/vga: allocate vga_arb_write() buffer on stack
...
Size of kmalloc() in vga_arb_write() is controlled by user.
Too large kmalloc() size triggers WARNING message on console.
Allocate the buffer on stack to avoid the WARNING.
The string must be small (e.g "target PCI:domain:bus:dev.fn").
Signed-off-by: Dmitry Vyukov <dvyukov@google.com >
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Cc: Dave Airlie <airlied@gmail.com >
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com >
Cc: dri-devel@lists.freedesktop.org
Cc: syzkaller@googlegroups.com
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/1476451342-146510-1-git-send-email-dvyukov@google.com
2016-10-17 08:21:14 +02:00
Daniel Vetter
fa860a1751
drm: Print device information again in debugfs
...
I was a bit over-eager in my cleanup in
commit 95c081c17f
Author: Daniel Vetter <daniel.vetter@ffwll.ch >
Date: Tue Jun 21 10:54:12 2016 +0200
drm: Move master pointer from drm_minor to drm_device
Noticed by Chris Wilson.
Fixes: 95c081c17f ("drm: Move master pointer from drm_minor to drm_device")
Cc: Chris Wilson <chris@chris-wilson.co.uk >
Cc: Chris Wilson <chris@chris-wilson.co.uk >
Cc: Daniel Vetter <daniel.vetter@intel.com >
Cc: Emil Velikov <emil.l.velikov@gmail.com >
Cc: Julia Lawall <julia.lawall@lip6.fr >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Tested-by: Chris Wilson <chris@chris-wilson.co.uk >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Signed-off-by: Dave Airlie <airlied@redhat.com >
2016-10-17 16:20:53 +10:00
Chris Wilson
0853695c3b
drm: Add reference counting to drm_atomic_state
...
drm_atomic_state has a complicated single owner model that tracks the
single reference from allocation through to destruction on another
thread - or perhaps on a local error path. We can simplify this tracking
by using reference counting (at a cost of a few more atomics). This is
even more beneficial when the lifetime of the state becomes more
convoluted than being passed to a single worker thread for the commit.
v2: Double check !intel atomic_commit functions for missing gets
v3: Update kerneldocs
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com >
Reviewed-by: Sean Paul <seanpaul@chromium.org >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/20161014121833.439-27-chris@chris-wilson.co.uk
2016-10-17 08:19:57 +02:00
Brian Starkey
d807ed1c55
drm: atomic: Clarify documentation around drm_atomic_crtc_needs_modeset
...
Add some additional comments to more explicitly describe the meaning and
usage of the three CRTC modeset detection booleans: mode_changed,
connectors_changed and active_changed.
Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Signed-off-by: Brian Starkey <brian.starkey@arm.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/1476352028-16701-1-git-send-email-brian.starkey@arm.com
2016-10-17 08:07:11 +02:00
Lyude
1bab7502dd
drm/i915/gen9: Cleanup skl_pipe_wm_active_state
...
This function is a wreck, let's help it get its life back together and
cleanup all of the copy pasta here.
Signed-off-by: Lyude <cpaul@redhat.com >
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com >
2016-10-16 19:09:07 -04:00
Lyude
a62163e97b
drm/i915/gen9: Make skl_wm_level per-plane
...
Having skl_wm_level contain all of the watermarks for each plane is
annoying since it prevents us from having any sort of object to
represent a single watermark level, something we take advantage of in
the next commit to cut down on all of the copy paste code in here.
Changes since v1:
- Style nitpicks
- Fix accidental usage of i vs. PLANE_CURSOR
- Split out skl_pipe_wm_active_state simplification into separate patch
Signed-off-by: Lyude <cpaul@redhat.com >
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com >
2016-10-16 19:08:43 -04:00
Lyude
b707aa5041
drm/i915/skl: Remove linetime from skl_wm_values
...
Next part of cleaning up the watermark code for skl. This is easy, since
it seems that we never actually needed to keep track of the linetime in
the skl_wm_values struct anyway.
Signed-off-by: Lyude <cpaul@redhat.com >
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com >
2016-10-16 19:08:10 -04:00
Lyude
ce0ba283f6
drm/i915/skl: Move per-pipe ddb allocations into crtc states
...
First part of cleaning up all of the skl watermark code. This moves the
structures for storing the ddb allocations of each pipe into
intel_crtc_state, along with moving the structures for storing the
current ddb allocations active on hardware into intel_crtc.
Changes since v1:
- Don't replace alloc->start = alloc->end = 0;
Signed-off-by: Lyude <cpaul@redhat.com >
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com >
2016-10-16 19:07:58 -04:00
Maxime Ripard
0df03b4303
drm/sun4i: rgb: Remove the bridge enable/disable functions
...
The atomic helpers already call the drm_bridge_enable on our behalf,
there's no need to do it a second time.
Reported-by: Sean Paul <seanpaul@chromium.org >
Reviewed-by: Sean Paul <seanpaul@chromium.org >
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
2016-10-16 14:32:23 +02:00
Jonathan Liu
5647b25c33
drm/sun4i: rgb: Enable panel after controller
...
The panel should be enabled after the controller so that we do not have
visual glitches on the panel while the controller is setup. Similarly,
the panel should be disabled before the controller.
Signed-off-by: Jonathan Liu <net147@gmail.com >
Reviewed-by: Sean Paul <seanpaul@chromium.org >
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com >
2016-10-16 14:32:23 +02:00
Tvrtko Ursulin
c13fb77890
drm/i915: Fix cxsr_latency_table reorg
...
I have re-ordered some struct members in patch:
commit 44a655cae3
Author: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Date: Thu Oct 13 11:09:23 2016 +0100
drm/i915: Shrink cxsr_latency_table
but that particular one is not initialized with named
initializers which broke it.
Move the bitfields back at the beginning. Space saving
is still there.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Fixes: 44a655cae3 ("drm/i915: Shrink cxsr_latency_table")
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com >
Cc: Jani Nikula <jani.nikula@linux.intel.com >
Link: http://patchwork.freedesktop.org/patch/msgid/1476453302-7580-1-git-send-email-tvrtko.ursulin@linux.intel.com
2016-10-14 17:23:28 +01:00
Rex Zhu
f28a9b65c9
drm/amd/powerplay: fix bug stop dpm can't work on Vi.
...
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-10-14 12:10:00 -04:00
Rex Zhu
36c285c533
drm/amd/powerplay: notify smu no display by default.
...
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-10-14 12:09:44 -04:00
Alex Deucher
154061db88
drm/amdgpu/dpm: implement thermal sensor for CZ/ST
...
Previous code was just a copy/paste from KV.
Reviewed-by: Tom St Denis <tom.stdenis@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-10-14 11:52:29 -04:00
Alex Deucher
ca3d28de62
drm/amdgpu/powerplay: implement thermal sensor for CZ/ST
...
Add missing functionality.
Reviewed-by: Tom St Denis <tom.stdenis@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-10-14 11:51:47 -04:00
Alex Deucher
3e96dbfd58
drm/amdgpu: disable smu hw first on tear down
...
Otherwise, you can't disable dpm.
Tested-by and Reviewed-by: Rex Zhu <Rex.Zhu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-10-14 11:51:33 -04:00
Alex Deucher
da146d3b52
drm/amdgpu: fix amdgpu_need_full_reset (v2)
...
IP types are not an index. Each asic may have number and
type of IPs. Properly check the the type rather than
using the type id as an index.
v2: fix all the IPs to not use IP type as an idx as well.
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2016-10-14 11:51:04 -04:00
Michał Winiarski
2ce5179fe8
drm/i915/gtt: Free unused lower-level page tables
...
Since "Dynamic page table allocations" were introduced, our page tables
can grow (being dynamically allocated) with address space range usage.
Unfortunately, their lifetime is bound to vm. This is not a huge problem
when we're not using softpin - drm_mm is creating an upper bound on used
range by causing addresses for our VMAs to eventually be reused.
With softpin, long lived contexts can drain the system out of memory
even with a single "small" object. For example:
bo = bo_alloc(size);
while(true)
offset += size;
exec(bo, offset);
Will cause us to create new allocations until all memory in the system
is used for tracking GPU pages (even though almost all PTEs in this vm
are pointing to scratch).
Let's free unused page tables in clear_range to prevent this - if no
entries are used, we can safely free it and return this information to
the caller (so that higher-level entry is pointing to scratch).
v2: Document return value and free semantics (Joonas)
v3: No newlines in vars block (Joonas)
v4: Drop redundant local 'reduce' variable
v5: Handle CI fail with enable_ppgtt=2
Cc: Michel Thierry <michel.thierry@intel.com >
Cc: Mika Kuoppala <mika.kuoppala@intel.com >
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk >
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com >
Signed-off-by: Michał Winiarski <michal.winiarski@intel.com >
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk >
Link: http://patchwork.freedesktop.org/patch/msgid/1476360162-24062-3-git-send-email-michal.winiarski@intel.com
2016-10-14 12:42:23 +01:00
Michał Winiarski
d209b9c3cd
drm/i915/gtt: Split gen8_ppgtt_clear_pte_range
...
Let's use more top-down approach, where each gen8_ppgtt_clear_* function
is responsible for clearing the struct passed as an argument and calling
relevant clear_range functions on lower-level tables.
Doing this rather than operating on PTE ranges makes the implementation
of shrinking page tables quite simple.
v2: Drop min when calculating num_entries, no negation in 48b ppgtt
check, no newlines in vars block (Joonas)
Cc: Chris Wilson <chris@chris-wilson.co.uk >
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com >
Cc: Michel Thierry <michel.thierry@intel.com >
Cc: Mika Kuoppala <mika.kuoppala@intel.com >
Signed-off-by: Michał Winiarski <michal.winiarski@intel.com >
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk >
Link: http://patchwork.freedesktop.org/patch/msgid/1476360162-24062-2-git-send-email-michal.winiarski@intel.com
2016-10-14 12:40:33 +01:00
Michał Winiarski
4fb84d991e
drm/i915: Remove unused "valid" parameter from pte_encode
...
We never used any invalid ptes, those were put in place for
a possibility of doing gpu faults. However our batchbuffers are not
restricted in length, so everything needs to be pointing to something
and thus out-of-bounds is pointing to scratch.
Remove the valid flag as it is always true.
v2: Expand commit msg, patch reorder (Mika)
Cc: Chris Wilson <chris@chris-wilson.co.uk >
Cc: Michel Thierry <michel.thierry@intel.com >
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com >
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com >
Signed-off-by: Michał Winiarski <michal.winiarski@intel.com >
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk >
Link: http://patchwork.freedesktop.org/patch/msgid/1476360162-24062-1-git-send-email-michal.winiarski@intel.com
2016-10-14 12:40:32 +01:00
Imre Deak
4c494a5769
drm/i915: Fix mismatched INIT power domain disabling during suspend
...
Currently the display INIT power domain disabling/enabling happens in a
mismatched way in the suspend/resume_early hooks respectively. This can
leave display power wells incorrectly disabled in the resume hook if the
suspend sequence is aborted for some reason resulting in the
suspend/resume hooks getting called but the suspend_late/resume_early
hooks being skipped. In particular this change fixes "Unclaimed read
from register 0x1e1204" on BYT/BSW triggered from i915_drm_resume()->
intel_pps_unlock_regs_wa() when suspending with /sys/power/pm_test set
to devices.
Fixes: 85e9067933 ("drm/i915: disable power wells on suspend")
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com >
Cc: David Weinehall <david.weinehall@intel.com >
Signed-off-by: Imre Deak <imre.deak@intel.com >
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: http://patchwork.freedesktop.org/patch/msgid/1476358446-11621-1-git-send-email-imre.deak@intel.com
2016-10-14 14:33:57 +03:00
Tvrtko Ursulin
5db9401983
drm/i915: Make IS_GEN macros only take dev_priv
...
Saves 1416 bytes of .rodata strings.
v2: Add parantheses around dev_priv. (Ville Syrjala)
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Reviewed-by: David Weinehall <david.weinehall@linux.intel.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Jani Nikula <jani.nikula@linux.intel.com >
Acked-by: Chris Wilson <chris@chris-wilson.co.uk >
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Link: http://patchwork.freedesktop.org/patch/msgid/1476352990-2504-1-git-send-email-tvrtko.ursulin@linux.intel.com
2016-10-14 12:23:22 +01:00
Tvrtko Ursulin
55b8f2a76d
drm/i915: Make INTEL_GEN only take dev_priv
...
Saves 968 bytes of .rodata strings.
v2: Add parantheses around dev_priv. (Ville Syrjala)
v3: Rebase.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Reviewed-by: David Weinehall <david.weinehall@linux.intel.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Jani Nikula <jani.nikula@linux.intel.com >
Acked-by: Chris Wilson <chris@chris-wilson.co.uk >
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
2016-10-14 12:23:19 +01:00
Tvrtko Ursulin
11a914c286
drm/i915: Make IS_VALLEYVIEW only take dev_priv
...
Saves 944 bytes of .rodata strings and 128 bytes of .text.
v2: Add parantheses around dev_priv. (Ville Syrjala)
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Reviewed-by: David Weinehall <david.weinehall@linux.intel.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Jani Nikula <jani.nikula@linux.intel.com >
Acked-by: Chris Wilson <chris@chris-wilson.co.uk >
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
2016-10-14 12:23:19 +01:00
Tvrtko Ursulin
920a14b245
drm/i915: Make IS_CHERRYVIEW only take dev_priv
...
Saves 864 bytes of .rodata strings and ~100 of .text.
v2: Add parantheses around dev_priv. (Ville Syrjala)
v3: Rebase.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Reviewed-by: David Weinehall <david.weinehall@linux.intel.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Jani Nikula <jani.nikula@linux.intel.com >
Acked-by: Chris Wilson <chris@chris-wilson.co.uk >
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
2016-10-14 12:23:19 +01:00
Tvrtko Ursulin
9beb5fea04
drm/i915: Make IS_G4X only take dev_priv
...
Saves 472 bytes of .rodata strings.
v2: Add parantheses around dev_priv. (Ville Syrjala)
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Reviewed-by: David Weinehall <david.weinehall@linux.intel.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Jani Nikula <jani.nikula@linux.intel.com >
Acked-by: Chris Wilson <chris@chris-wilson.co.uk >
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
2016-10-14 12:23:19 +01:00
Tvrtko Ursulin
3c9192bc08
drm/i915: Make HAS_L3_DPF only take dev_priv
...
Saves 472 bytes of .rodata strings.
v2: Add parantheses around dev_priv. (Ville Syrjala)
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Reviewed-by: David Weinehall <david.weinehall@linux.intel.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Jani Nikula <jani.nikula@linux.intel.com >
Acked-by: Chris Wilson <chris@chris-wilson.co.uk >
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
2016-10-14 12:23:19 +01:00
Tvrtko Ursulin
e2d214ae2b
drm/i915: Make IS_BROXTON only take dev_priv
...
Saves 1392 bytes of .rodata strings.
Also change a few function/macro prototypes in i915_gem_gtt.c
from dev to dev_priv where it made more sense to do so.
v2: Add parantheses around dev_priv. (Ville Syrjala)
v3: Mention function prototype changes. (David Weinehall)
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Cc: David Weinehall <david.weinehall@linux.intel.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Jani Nikula <jani.nikula@linux.intel.com >
Acked-by: Chris Wilson <chris@chris-wilson.co.uk >
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Reviewed-by: David Weinehall <david.weinehall@linux.intel.com >
2016-10-14 12:23:19 +01:00
Tvrtko Ursulin
d9486e6501
drm/i915: Make IS_SKYLAKE only take dev_priv
...
Saves 1016 bytes of .rodata strings and couple hundred of .text.
v2: Add parantheses around dev_priv. (Ville Syrjala)
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Reviewed-by: David Weinehall <david.weinehall@linux.intel.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Jani Nikula <jani.nikula@linux.intel.com >
Acked-by: Chris Wilson <chris@chris-wilson.co.uk >
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
2016-10-14 12:23:19 +01:00
Tvrtko Ursulin
0853723b89
drm/i915: Make IS_KABYLAKE only take dev_priv
...
Saves 1320 bytes of .rodata strings.
v2: Add parantheses around dev_priv. (Ville Syrjala)
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Reviewed-by: David Weinehall <david.weinehall@linux.intel.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Jani Nikula <jani.nikula@linux.intel.com >
Acked-by: Chris Wilson <chris@chris-wilson.co.uk >
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
2016-10-14 12:23:19 +01:00
Tvrtko Ursulin
772c2a519c
drm/i915: Make IS_HASWELL only take dev_priv
...
Saves 2432 bytes of .rodata strings.
v2: Add parantheses around dev_priv. (Ville Syrjala)
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Reviewed-by: David Weinehall <david.weinehall@linux.intel.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Jani Nikula <jani.nikula@linux.intel.com >
Acked-by: Chris Wilson <chris@chris-wilson.co.uk >
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
2016-10-14 12:23:19 +01:00
Tvrtko Ursulin
8652744b64
drm/i915: Make IS_BROADWELL only take dev_priv
...
Saves 1808 bytes of .rodata strings.
v2: Add parantheses around dev_priv. (Ville Syrjala)
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Reviewed-by: David Weinehall <david.weinehall@linux.intel.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Jani Nikula <jani.nikula@linux.intel.com >
Acked-by: Chris Wilson <chris@chris-wilson.co.uk >
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
2016-10-14 12:23:19 +01:00
Tvrtko Ursulin
fd6b8f43c9
drm/i915: Make IS_IVYBRIDGE only take dev_priv
...
Saves 848 bytes of .rodata strings.
v2: Add parantheses around dev_priv. (Ville Syrjala)
v3: Rebase.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Reviewed-by: David Weinehall <david.weinehall@linux.intel.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Jani Nikula <jani.nikula@linux.intel.com >
Acked-by: Chris Wilson <chris@chris-wilson.co.uk >
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
2016-10-14 12:23:19 +01:00
Tvrtko Ursulin
50a0bc9054
drm/i915: Make INTEL_DEVID only take dev_priv
...
Saves 4472 bytes of .rodata strings.
v2: Add parantheses around dev_priv. (Ville Syrjala)
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Reviewed-by: David Weinehall <david.weinehall@linux.intel.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Jani Nikula <jani.nikula@linux.intel.com >
Acked-by: Chris Wilson <chris@chris-wilson.co.uk >
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
2016-10-14 12:23:19 +01:00
Tvrtko Ursulin
c1812bdbe0
drm/i915: Make IS_GEN-range macro only take dev_priv
...
Saves 944 bytes of .rodata strings.
v2: Add parantheses around dev_priv. (Ville Syrjala)
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Reviewed-by: David Weinehall <david.weinehall@linux.intel.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Jani Nikula <jani.nikula@linux.intel.com >
Acked-by: Chris Wilson <chris@chris-wilson.co.uk >
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
2016-10-14 12:23:19 +01:00
Tvrtko Ursulin
70006ad6d8
drm/i915: Do not use INTEL_INFO(dev_priv)->ring_mask inside WARNs
...
Saves 1520 bytes of .rodata strings.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Jani Nikula <jani.nikula@linux.intel.com >
Acked-by: Chris Wilson <chris@chris-wilson.co.uk >
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
2016-10-14 12:23:19 +01:00
Tvrtko Ursulin
6772ffe023
drm/i915: Make HAS_RUNTIME_PM only take dev_priv
...
Saves 960 bytes of .rodata strings.
v2: Add parantheses around dev_priv. (Ville Syrjala)
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Reviewed-by: David Weinehall <david.weinehall@linux.intel.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Jani Nikula <jani.nikula@linux.intel.com >
Acked-by: Chris Wilson <chris@chris-wilson.co.uk >
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
2016-10-14 12:23:19 +01:00
Tvrtko Ursulin
49cff963dd
drm/i915: Make HAS_GMCH_DISPLAY only take dev_priv
...
More .rodata string saving by avoid __I915__ magic inside WARNs.
v2: Add parantheses around dev_priv. (Ville Syrjala)
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Reviewed-by: David Weinehall <david.weinehall@linux.intel.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Jani Nikula <jani.nikula@linux.intel.com >
Acked-by: Chris Wilson <chris@chris-wilson.co.uk >
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
2016-10-14 12:23:19 +01:00