<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/gpu/drm/i915/display/intel_hotplug.c, branch linux-5.18.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.18.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.18.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2022-02-09T11:39:35Z</updated>
<entry>
<title>drm/i915/hpd: hide struct intel_hotplug_funcs</title>
<updated>2022-02-09T11:39:35Z</updated>
<author>
<name>Jani Nikula</name>
</author>
<published>2022-02-03T14:02:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7e97596c743c978e81ac67a59940071aa292b2a9'/>
<id>urn:sha1:7e97596c743c978e81ac67a59940071aa292b2a9</id>
<content type='text'>
With intel_hpd_irq_setup() in i915_irq.c, struct intel_hotplug_funcs is
also only needed there.

Signed-off-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
Reviewed-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/9a10dbca7ad298dde62b83f76e0df43a67bceeef.1643896905.git.jani.nikula@intel.com
</content>
</entry>
<entry>
<title>drm/i915/hotplug: convert to drm device based logging</title>
<updated>2022-01-24T13:20:05Z</updated>
<author>
<name>Jani Nikula</name>
</author>
<published>2022-01-21T13:00:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0bd6c4a1310336af511519a8a853ecff2120d11d'/>
<id>urn:sha1:0bd6c4a1310336af511519a8a853ecff2120d11d</id>
<content type='text'>
Prefer drm device based logging.

Cc: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Signed-off-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
Reviewed-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/a8276434c0a899009be05cb987fdbf80d25fd175.1642769982.git.jani.nikula@intel.com
</content>
</entry>
<entry>
<title>drm/i915: Fix oops on platforms w/o hpd support</title>
<updated>2021-10-14T20:23:55Z</updated>
<author>
<name>Ville Syrjälä</name>
</author>
<published>2021-10-14T09:09:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d73b17465d6da0a94bc0fcc86b150e1e923e8f71'/>
<id>urn:sha1:d73b17465d6da0a94bc0fcc86b150e1e923e8f71</id>
<content type='text'>
We don't have hpd support on i8xx/i915 which means hotplug_funcs==NULL.
Let's not oops when loading the driver on one those machines.

v2: Drop the redundant function pointer check (Jani)

Cc: Dave Airlie &lt;airlied@redhat.com&gt;
Cc: Jani Nikula &lt;jani.nikula@intel.com&gt;
Fixes: cd030c7c11a4 ("drm/i915: constify hotplug function vtable.")
Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20211014090941.12159-5-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/i915: constify hotplug function vtable.</title>
<updated>2021-09-29T06:28:39Z</updated>
<author>
<name>Dave Airlie</name>
</author>
<published>2021-09-28T22:58:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cd030c7c11a4afbcc99da4af535d4336e5540767'/>
<id>urn:sha1:cd030c7c11a4afbcc99da4af535d4336e5540767</id>
<content type='text'>
Use a macro to avoid mistakes, this type of macro is only used
in a couple of places.

Reviewed-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/af229c1e8ec894f177b344ab77b90e32c33428de.1632869550.git.jani.nikula@intel.com
</content>
</entry>
<entry>
<title>drm/i915: split irq hotplug function from display vtable</title>
<updated>2021-09-29T06:10:36Z</updated>
<author>
<name>Dave Airlie</name>
</author>
<published>2021-09-28T22:57:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=de1677c5e32ace87ca69861dc32115e824af3278'/>
<id>urn:sha1:de1677c5e32ace87ca69861dc32115e824af3278</id>
<content type='text'>
This provide a service from irq to display, so make it separate

Reviewed-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/05f533064709764dff8bcfef6a58f9a8482dc5bb.1632869550.git.jani.nikula@intel.com
</content>
</entry>
<entry>
<title>drm/i915: skip display initialization when there is no display</title>
<updated>2021-04-09T20:30:43Z</updated>
<author>
<name>José Roberto de Souza</name>
</author>
<published>2021-04-08T20:31:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5df7bd130818dfdc9047c2a81b19737d66e55f9a'/>
<id>urn:sha1:5df7bd130818dfdc9047c2a81b19737d66e55f9a</id>
<content type='text'>
Display features should not be initialized or de-initialized when there
is no display. Skip modeset initialization, output setup, plane, crtc,
encoder, connector registration, display cdclk and rawclk
initialization, display core initialization, etc.

Skip the functionality at as high level as possible, and remove any
redundant checks. If the functionality is conditional to *other* display
checks, do not add more. If the un-initialization has checks for
initialization, do not add more.

We explicitly do not care about any GMCH/VLV/CHV code paths, as they've
always had and will have display.

Reviewed-by: Radhakrishna Sripada &lt;radhakrishna.sripada@intel.com&gt;
Cc: Lucas De Marchi &lt;lucas.demarchi@intel.com&gt;
Signed-off-by: José Roberto de Souza &lt;jose.souza@intel.com&gt;
Signed-off-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/20210408203150.237947-3-jose.souza@intel.com
</content>
</entry>
<entry>
<title>drm/i915: Refactor .hpd_irq_setup() calls a bit</title>
<updated>2020-10-20T17:18:53Z</updated>
<author>
<name>Ville Syrjälä</name>
</author>
<published>2020-10-06T18:58:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5f51e78f0a07102ff22c5b69d85e6b5dd1f9d311'/>
<id>urn:sha1:5f51e78f0a07102ff22c5b69d85e6b5dd1f9d311</id>
<content type='text'>
Add a small wrapper for .hpd_irq_setup() which does the
"do we even have the hook?" and "are display interrupts enabled?"
checks.

Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20201006185809.4655-3-ville.syrjala@linux.intel.com
Reviewed-by: Imre Deak &lt;imre.deak@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/i915: Reorder hpd init vs. display resume</title>
<updated>2020-10-20T17:18:32Z</updated>
<author>
<name>Ville Syrjälä</name>
</author>
<published>2020-10-13T18:11:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4c8d46510480a0e0cd92aba5b834bd137e3b4b35'/>
<id>urn:sha1:4c8d46510480a0e0cd92aba5b834bd137e3b4b35</id>
<content type='text'>
Currently we call .hpd_irq_setup() directly just before display
resume, and follow it with another call via intel_hpd_init()
just afterwards. Assuming the hpd pins are marked as enabled
during the open-coded call these two things do exactly the
same thing (ie. enable HPD interrupts). Which even makes sense
since we definitely need working HPD interrupts for MST sideband
during the display resume.

So let's nuke the open-coded call and move the intel_hpd_init()
call earlier. However we need to leave the poll_init_work stuff
behind after the display resume as that will trigger display
detection while we're resuming. We don't want that trampling over
the display resume process. To make this a bit more symmetric
we turn this into a intel_hpd_poll_{enable,disable}() pair.
So we end up with the following transformation:
intel_hpd_poll_init() -&gt; intel_hpd_poll_enable()
lone intel_hpd_init() -&gt; intel_hpd_init()+intel_hpd_poll_disable()
.hpd_irq_setup()+resume+intel_hpd_init() -&gt; intel_hpd_init()+resume+intel_hpd_poll_disable()

If we really would like to prevent all *long* HPD processing during
display resume we'd need some kind of software mechanism to simply
ignore all long HPDs. Currently we appear to have that just for
fbdev via ifbdev-&gt;hpd_suspended. Since we aren't exploding left and
right all the time I guess that's mostly sufficient.

For a bit of history on this, we first got a mechanism to block
hotplug processing during suspend in commit 15239099d7a7 ("drm/i915:
enable irqs earlier when resuming") on account of moving the irq enable
earlier. This then got removed in commit 50c3dc970a09 ("drm/fb-helper:
Fix hpd vs. initial config races") because the fdev initial config
got pushed to a later point. The second ad-hoc hpd_irq_setup() for
resume was added in commit 0e32b39ceed6 ("drm/i915: add DP 1.2 MST
support (v0.7)") to be able to do MST sideband during the resume.
And finally we got a partial resurrection of the hpd blocking
mechanism in commit e8a8fedd57fd ("drm/i915: Block fbdev HPD
processing during suspend"), but this time it only prevent fbdev
from handling hpd while resuming.

v2: Leave the poll_init_work behind
v3: Remove the extra intel_hpd_poll_disable() from display reset (Lyude)
    Add the missing intel_hpd_poll_disable() to display init (Imre)

Cc: Lyude Paul &lt;lyude@redhat.com&gt;
Cc: Imre Deak &lt;imre.deak@intel.com&gt;
Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20201013181137.30560-1-ville.syrjala@linux.intel.com
Reviewed-by: Imre Deak &lt;imre.deak@intel.com&gt;
Reviewed-by: Lyude Paul &lt;lyude@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/i915: Nuke pointless variable</title>
<updated>2020-09-15T15:01:57Z</updated>
<author>
<name>Ville Syrjälä</name>
</author>
<published>2020-06-30T21:56:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e198eea948a0f12630cf7a8d12fe30d257c9339d'/>
<id>urn:sha1:e198eea948a0f12630cf7a8d12fe30d257c9339d</id>
<content type='text'>
No point in assigning the function return value to a local
variable if we're just going to use it the one time.

Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20200630215601.28557-13-ville.syrjala@linux.intel.com
Reviewed-by: José Roberto de Souza &lt;jose.souza@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/i915: Introduce HPD_PORT_TC&lt;n&gt;</title>
<updated>2020-09-15T14:52:43Z</updated>
<author>
<name>Ville Syrjälä</name>
</author>
<published>2020-06-30T21:55:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=da51e4bafdfafc627ba57de8add05a968d2e6f81'/>
<id>urn:sha1:da51e4bafdfafc627ba57de8add05a968d2e6f81</id>
<content type='text'>
Make a clean split between hpd pins for DDI vs. TC. This matches
how the actual hardware is split.

And with this we move the DDI/PHY-&gt;HPD pin mapping into the encoder
init instead of having to remap yet again in the interrupt code.

Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20200630215601.28557-11-ville.syrjala@linux.intel.com
Reviewed-by: José Roberto de Souza &lt;jose.souza@intel.com&gt;
</content>
</entry>
</feed>
