<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/gpu/drm/i915/intel_pipe_crc.c, branch linux-4.17.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.17.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.17.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2017-11-30T15:49:42Z</updated>
<entry>
<title>drm/i915: Make ips_enabled a property depending on whether IPS is enabled, v3.</title>
<updated>2017-11-30T15:49:42Z</updated>
<author>
<name>Maarten Lankhorst</name>
<email>maarten.lankhorst@linux.intel.com</email>
</author>
<published>2017-11-22T18:39:01Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=24f2845056892b297fa95edbddceefd38acc0e62'/>
<id>urn:sha1:24f2845056892b297fa95edbddceefd38acc0e62</id>
<content type='text'>
ips_enabled was used as a variable of whether IPS can be enabled or not,
but should be used to test whether IPS is actually enabled.

Changes since v1:
- Call needs_modeset on new crtc state. (Ville)
- IPS can be enabled with sprite plane enabled too. (Ville)
- Fix CDCLK vs IPS workaround. (Ville)
Changes since v2:
- Only re-enable fastset when inheriting mode. (Ville)
- Put the conditions for enabling and disabling IPS in a helper.
Changes since v3:
- Keep the max_cdclk workaround working. (Ville)
- Also check logical cdclk out of paranoia.
- Remove planes check from IPS disable function for initial disable.
- Remove assert_plane_enabled/disabled checks and use
  crtc_state-&gt;active_planes for hsw_enable_ips only, always allow
  calling hsw_disable_ips to disable it initially in hw.

Signed-off-by: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20171122183901.47720-1-maarten.lankhorst@linux.intel.com
[mlankhorst: pipe_config -&gt; crtc_state (Ville)]
Reviewed-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>drm/i915: Nuke intel_digital_port-&gt;port</title>
<updated>2017-11-09T18:06:14Z</updated>
<author>
<name>Ville Syrjälä</name>
<email>ville.syrjala@linux.intel.com</email>
</author>
<published>2017-11-09T15:24:34Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=8f4f279707236e273cd50b095a06797fe0ed6ccc'/>
<id>urn:sha1:8f4f279707236e273cd50b095a06797fe0ed6ccc</id>
<content type='text'>
Remove intel_digital_port-&gt;port and replace its users with
intel_encoder-&gt;port. intel_encoder-&gt;port is a superset of
intel_digital_port-&gt;port, and it works correctly even for
MST encoders.

v2: Eliminate a few dp_to_dig_port()-&gt;base.port cases too (DK)

Performed with cocci:
@@
@@
struct intel_digital_port {
       ...
-       enum port port;
       ...
}

@@
struct intel_digital_port *D;
expression E;
@@
- D-&gt;port = E;

@@
struct intel_digital_port *D;
@@
- D-&gt;port
+ D-&gt;base.port

@
expression E;
@@
(
- dp_to_dig_port(E)-&gt;port
+ dp_to_dig_port(E)-&gt;base.port
|
- enc_to_dig_port(E)-&gt;port
+ to_intel_encoder(E)-&gt;port
)

@@
expression E;
@@
- to_intel_encoder(&amp;E-&gt;base)
+ E

@@
struct intel_digital_port *D;
identifier I, M;
@@
  I = &amp;D-&gt;base
&lt;...
(
- D-&gt;base.M
+ I-&gt;M
|
- &amp;D-&gt;base
+ I
)
...&gt;

@@
identifier D;
expression E;
identifier M;
@@
 D = enc_to_dig_port(&amp;E-&gt;base)
&lt;...
(
- D-&gt;base.M
+ E-&gt;M
|
- &amp;D-&gt;base
+ E
)
...&gt;

@@
identifier D, DP;
expression E;
identifier M;
@@
 DP = enc_to_intel_dp(&amp;E-&gt;base)
&lt;...
(
- dp_to_dig_port(DP)-&gt;base.M
+ E-&gt;M
|
- &amp;dp_to_dig_port(DP)-&gt;base
+ E
)
...&gt;

@@
expression E;
identifier M;
@@
(
- enc_to_dig_port(&amp;E-&gt;base)-&gt;base.M
+ E-&gt;M
|
- enc_to_dig_port(&amp;E-&gt;base)-&gt;base
+ E
|
- enc_to_mst(&amp;E-&gt;base)-&gt;primary-&gt;base.port
+ E-&gt;port
)

@@
expression E;
identifier D;
@@
- struct intel_digital_port *D = E;
... when != D

Cc: Dhinakaran Pandiyan &lt;dhinakaran.pandiyan@intel.com&gt;
Reviewed-by: Dhinakaran Pandiyan &lt;dhinakaran.pandiyan@intel.com&gt;
Acked-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20171109152434.32074-1-ville.syrjala@linux.intel.com
</content>
</entry>
<entry>
<title>drm/i915: Favor for_each_pipe() macro</title>
<updated>2017-10-10T15:29:52Z</updated>
<author>
<name>Mika Kahola</name>
<email>mika.kahola@intel.com</email>
</author>
<published>2017-10-10T10:17:05Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=78619e32e57f9f9acd8653b569e48f2d52fa3304'/>
<id>urn:sha1:78619e32e57f9f9acd8653b569e48f2d52fa3304</id>
<content type='text'>
Favor for_each_pipe() macro when looping through pipes.

v2: use 'enum pipe pipe' instead of 'i'

Reviewed-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Signed-off-by: Mika Kahola &lt;mika.kahola@intel.com&gt;
Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/1507630626-23806-5-git-send-email-mika.kahola@intel.com
</content>
</entry>
<entry>
<title>drm/i915: Don't relay on I915_MAX_PIPES</title>
<updated>2017-10-10T15:07:48Z</updated>
<author>
<name>Mika Kahola</name>
<email>mika.kahola@intel.com</email>
</author>
<published>2017-10-10T10:17:02Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=0d5f662575e542ed22b5054c2b0887f42271be5e'/>
<id>urn:sha1:0d5f662575e542ed22b5054c2b0887f42271be5e</id>
<content type='text'>
Let's remove the dependency on I915_MAX_PIPES. Instead, get the number
of pipes from platform information.

Reviewed-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Signed-off-by: Ramalingam C &lt;ramalingam.c@intel.com&gt;
Signed-off-by: Mika Kahola &lt;mika.kahola@intel.com&gt;
Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/1507630626-23806-2-git-send-email-mika.kahola@intel.com
</content>
</entry>
<entry>
<title>drm/i915: Beef up of Beef up the IPS vs. CRC workaround</title>
<updated>2017-08-28T13:12:47Z</updated>
<author>
<name>Marta Lofstedt</name>
<email>marta.lofstedt@intel.com</email>
</author>
<published>2017-08-28T12:18:10Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=8bd719587d1215dad42d48d725eb1858987112c8'/>
<id>urn:sha1:8bd719587d1215dad42d48d725eb1858987112c8</id>
<content type='text'>
Commit 6e644626945c ("drm/i915: Beef up the IPS vs. CRC
workaround") was supposed to solve below bug. However, the
patch I tested is not the same as the one that got merged.
With this addition the test pass.

V2: removed unused: "struct intel_crtc *intel_crtc"

Fixes: 6e644626945c ("drm/i915: Beef up the IPS vs. CRC workaround")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101664
Signed-off-by: Marta Lofstedt &lt;marta.lofstedt@intel.com&gt;
Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20170828121810.13112-1-marta.lofstedt@intel.com
</content>
</entry>
<entry>
<title>drm/i915: Beef up the IPS vs. CRC workaround</title>
<updated>2017-08-25T11:44:38Z</updated>
<author>
<name>Ville Syrjälä</name>
<email>ville.syrjala@linux.intel.com</email>
</author>
<published>2017-08-17T14:55:09Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=6e644626945c7c1a7f4d4f83b806b898297846d0'/>
<id>urn:sha1:6e644626945c7c1a7f4d4f83b806b898297846d0</id>
<content type='text'>
Oneshot disabling of IPS when CRC capturing is started is insufficient.
IPS may get re-enabled by any plane update, and hence tests that keep
CRC capturing on across plane updates will start to see inconsistent
results as soon as IPS kicks back in. Add a new knob into the crtc state
to make sure IPS stays disabled as long as CRC capturing is enabled.

Forcing a modeset is the easiest way to handle this since that's already
how we do the panel fitter workaround. It's a little heavy handed just
for IPS, but seeing as we might already do the panel fitter workaround
I think it's better to follow that. We migth want to optimize both cases
later if someone gets too upset by the extra delay from the modeset.

v2: Check the right thing when deciding whether to force a modeset
v3: Rebase, check HAS_IPS before forcing a modeset,
    move ips_force_disable check into pipe_config_supports_ips()

Cc: Paulo Zanoni &lt;paulo.r.zanoni@intel.com&gt;
Cc: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Cc: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Cc: Marta Lofstedt &lt;marta.lofstedt@intel.com&gt;
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101664
Reviewed-by: Paulo Zanoni &lt;paulo.r.zanoni@intel.com&gt;
Tested-by: Marta Lofsted &lt;marta.lofstedt@intel.com&gt; #v2
Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20170817145509.15549-1-ville.syrjala@linux.intel.com
</content>
</entry>
<entry>
<title>drm/i915: use memdup_user_nul</title>
<updated>2017-05-08T07:28:39Z</updated>
<author>
<name>Geliang Tang</name>
<email>geliangtang@gmail.com</email>
</author>
<published>2017-05-06T15:40:17Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=261aeba834f384cd9cf85be72078291d30fca4e4'/>
<id>urn:sha1:261aeba834f384cd9cf85be72078291d30fca4e4</id>
<content type='text'>
Use memdup_user_nul() helper instead of open-coding to simplify the
code.

Signed-off-by: Geliang Tang &lt;geliangtang@gmail.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/6baf3aa45d0b5e0fd016b508bac905ebf8443aac.1493779294.git.geliangtang@gmail.com
</content>
</entry>
<entry>
<title>drm/i915: Do not use lock all in hsw_trans_edp_pipe_A_crc_wa</title>
<updated>2017-04-12T09:03:25Z</updated>
<author>
<name>Maarten Lankhorst</name>
<email>maarten.lankhorst@linux.intel.com</email>
</author>
<published>2017-04-04T13:24:57Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=aab9094b032528da1b32cc5203964075cd04d5be'/>
<id>urn:sha1:aab9094b032528da1b32cc5203964075cd04d5be</id>
<content type='text'>
There is no need to acquire all locks here,
doing a commit after forcing a modeset on the affected crtc
is enough. Any other locks needed will be acquired as needed.

Signed-off-by: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1491312297-18673-1-git-send-email-maarten.lankhorst@linux.intel.com
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
<entry>
<title>drm: Remove drm_modeset_legacy_acquire_ctx and crtc-&gt;acquire_ctx</title>
<updated>2017-04-05T07:26:45Z</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2017-04-03T08:32:52Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b260ac3ebef5eb748207cd542dba00af6c5caaa5'/>
<id>urn:sha1:b260ac3ebef5eb748207cd542dba00af6c5caaa5</id>
<content type='text'>
With all the callers of drm_modeset_lock_crtc gone, and all the places
it was formerly used properly wiring the acquire ctx through, we can
remove this.

The only hidden context magic we still have is now the global one.

Reviewed-by: Harry Wentland &lt;harry.wentland@amd.com&gt;
Reviewed-by: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/20170403083304.9083-4-daniel.vetter@ffwll.ch
</content>
</entry>
<entry>
<title>Merge tag 'drm-intel-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-intel into drm-next</title>
<updated>2017-03-08T02:41:47Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2017-03-08T02:41:47Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2e16101780e9cc8c4c68566db002e7513a1530eb'/>
<id>urn:sha1:2e16101780e9cc8c4c68566db002e7513a1530eb</id>
<content type='text'>
4 weeks worth of stuff since I was traveling&amp;lazy:

- lspcon improvements (Imre)
- proper atomic state for cdclk handling (Ville)
- gpu reset improvements (Chris)
- lots and lots of polish around fences, requests, waiting and
  everything related all over (both gem and modeset code), from Chris
- atomic by default on gen5+ minus byt/bsw (Maarten did the patch to
  flip the default, really this is a massive joint team effort)
- moar power domains, now 64bit (Ander)
- big pile of in-kernel unit tests for various gem subsystems (Chris),
  including simple mock objects for i915 device and and the ggtt
  manager.
- i915_gpu_info in debugfs, for taking a snapshot of the current gpu
  state. Same thing as i915_error_state, but useful if the kernel didn't
  notice something is stick. From Chris.
- bxt dsi fixes (Umar Shankar)
- bxt w/a updates (Jani)
- no more struct_mutex for gem object unreference (Chris)
- some execlist refactoring (Tvrtko)
- color manager support for glk (Ander)
- improve the power-well sync code to better take over from the
  firmware (Imre)
- gem tracepoint polish (Tvrtko)
- lots of glk fixes all around (Ander)
- ctx switch improvements (Chris)
- glk dsi support&amp;fixes (Deepak M)
- dsi fixes for vlv and clanups, lots of them (Hans de Goede)
- switch to i915.ko types in lots of our internal modeset code (Ander)
- byt/bsw atomic wm update code, yay (Ville)

* tag 'drm-intel-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-intel: (432 commits)
  drm/i915: Update DRIVER_DATE to 20170306
  drm/i915: Don't use enums for hardware engine id
  drm/i915: Split breadcrumbs spinlock into two
  drm/i915: Refactor wakeup of the next breadcrumb waiter
  drm/i915: Take reference for signaling the request from hardirq
  drm/i915: Add FIFO underrun tracepoints
  drm/i915: Add cxsr toggle tracepoint
  drm/i915: Add VLV/CHV watermark/FIFO programming tracepoints
  drm/i915: Add plane update/disable tracepoints
  drm/i915: Kill level 0 wm hack for VLV/CHV
  drm/i915: Workaround VLV/CHV sprite1-&gt;sprite0 enable underrun
  drm/i915: Sanitize VLV/CHV watermarks properly
  drm/i915: Only use update_wm_{pre,post} for pre-ilk platforms
  drm/i915: Nuke crtc-&gt;wm.cxsr_allowed
  drm/i915: Compute proper intermediate wms for vlv/cvh
  drm/i915: Skip useless watermark/FIFO related work on VLV/CHV when not needed
  drm/i915: Compute vlv/chv wms the atomic way
  drm/i915: Compute VLV/CHV FIFO sizes based on the PM2 watermarks
  drm/i915: Plop vlv/chv fifo sizes into crtc state
  drm/i915: Plop vlv wm state into crtc_state
  ...
</content>
</entry>
</feed>
