Jani Nikula
c2d55e709a
drm/i915/pch: Hide PCH device IDs
...
Only the PCH identification code needs the PCH device IDs, as all the
PCH checks are now based on PCH type. Hide the PCH device IDs inside
intel_pch.c. Remove the unused INTEL_PCH_ID() macro while at it.
Reviewed-by: Nemesa Garg <nemesa.garg@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/d1ceb9fc461cf21e1b885a55293f593eba1458ea.1738923308.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
2025-02-12 12:36:18 +02:00
Jani Nikula
a5b55c1850
drm/i915/pch: Make LPT LP a dedicated PCH type
...
Add PCH type PCH_LPT_LP and rename PCH_LPT to PCH_LPT_H for
consistency. Keep the existing HAS_PCH_LPT*() macros, but express them
in terms of the PCH types instead of looking at the device IDs
directly. This makes the PCH checks independent of the PCH device IDs.
Reviewed-by: Nemesa Garg <nemesa.garg@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/777b63f50b10fba1d768af25870e81b33267bdc8.1738923308.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
2025-02-12 12:36:18 +02:00
Suraj Kandpal
4ce63ed330
drm/i915/dpll: Replace all other leftover drm_i915_private
...
Replace all other left over drm_i915_private with intel_display
in dpll_mgr.c.
--v2
-Don't use inline to_intel_display() [Jani]
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com >
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250212074542.3569452-9-suraj.kandpal@intel.com
2025-02-12 15:19:00 +05:30
Suraj Kandpal
7d7529582c
drm/i915/dpll: Accept intel_display as argument for shared_dpll_init
...
Use intel_display as an argument for intel_shared_dpll_init() and
replace drm_i915_private in function wherever possible.
While at it prefer using display->platform.xx over IS_PLATFORM.
Initialize dpio_phy and dpio_channel since with IS_GEMINILAKE()
and IS_BROXTON() compiler knows it will return false for xe but
since display->platform.xx is a runtime check which means the
compiler sees a potential path where uninitialized variables
could be accessed and raises a warning.
--v2
-Amend commit message to explain why some variables were
initialized [Jani]
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com >
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250212074542.3569452-8-suraj.kandpal@intel.com
2025-02-12 15:18:59 +05:30
Suraj Kandpal
6559616785
drm/i915/dpll: Use intel_display for update_refclk hook
...
Use intel_display instead of drm_i915_private for update_refclk hook.
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com >
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250212074542.3569452-7-suraj.kandpal@intel.com
2025-02-12 15:18:57 +05:30
Suraj Kandpal
24d687364c
drm/i915/dpll: Use intel_display for asserting pll
...
Use intel_display instead of drm_i915_private to assert pll enabled
and disabled and the corresponding changes needed to make that happen.
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com >
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250212074542.3569452-6-suraj.kandpal@intel.com
2025-02-12 15:18:54 +05:30
Suraj Kandpal
972259d93c
drm/i915/dpll: Use intel_display possible in shared_dpll_mgr hooks
...
We use intel_display for function hooks of shared_dpll_mgr and
any function that gets called when we use for_each_shared_dpll.
This also contains some opportunistic display->platform.xx changes
all to reductate the use of drm_i915_private.
--v2
-rebase
--v3
-Don't use inline to_i915 [Jani]
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com >
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250212074542.3569452-5-suraj.kandpal@intel.com
2025-02-12 15:18:51 +05:30
Suraj Kandpal
bd867a00f7
drm/i915/dpll: Use intel_display for dpll dump and compare hw state
...
Let's use intel_display for dpll dump and compare hw state. This also
helps elimanate drm_i915_private dependency from i915_shared_dplls_info
in intel_display_debugfs.c
--v2
-Fix commit message [Jani]
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com >
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250212074542.3569452-4-suraj.kandpal@intel.com
2025-02-12 15:18:49 +05:30
Suraj Kandpal
e20d0d4076
drm/i915/dpll: Change param to intel_display in for_each_shared_dpll
...
Change the argument of for_each_shared_dpll to take intel_display which
helps move as an ongoing effort to get rid off the dependency on
drm_i915_private. Some opportunistic changes in intel_pch_refclk done
too.
--v2
-Prefer using &i915->display [Jani]
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com >
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250212074542.3569452-3-suraj.kandpal@intel.com
2025-02-12 15:18:48 +05:30
Suraj Kandpal
7378c2dbf3
drm/i915: Use intel_display wherever possible
...
Use struct intel_display wherever possible in intel_display_debug_fs.c
to reduce the use of drm_i915_private.
While at it do the opportunistic display->platform.xx replacement.
--v2
-Rebase
--v3
-Don't use inline to_intel_display [Jani]
-Don't use display debug fs as subject prefix [Jani]
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com >
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250212074542.3569452-2-suraj.kandpal@intel.com
2025-02-12 15:18:47 +05:30
Ville Syrjälä
f2d236766f
drm/i915: Continue intel_display_power struct intel_display conversion
...
Convert the remaining intel_display_power.h interfaces to
take struct intel_display instead of struct drm_i915_private.
intel_display_power.c still has some internal uses due to
i915->runtime_pm.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250211000135.6096-3-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
2025-02-11 19:23:05 +02:00
Ville Syrjälä
4929402a74
drm/i915: Fix CONFIG_DRM_I915_DEBUG_RUNTIME_PM=n build
...
Looks like I missed one of myriad CONFIG_DRM_I915_DEBUG_RUNTIME_PM=n
special cases when converting the intel_display_power_{get,put}()
code to use struct intel_display. Only noticed after the fact
when building a EXPERT=n kernel :/
Fixes: 5dcfda5cfa ("drm/i915: Convert intel_display_power_{get,put}*() to intel_display")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250211000135.6096-2-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
2025-02-11 19:21:03 +02:00
Ville Syrjälä
73a0d4b367
drm/i915: Pimp plane debugs
...
Include the standard "[PLANE:%d:s]" stuff in all plane debugs
(or rather all I was able to find), to provide better information
on which plane we're actually talking about.
There are a few spots where we care about the CRTC as well, so
include that where appropriate.
Reviewed-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com >
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206185533.32306-13-ville.syrjala@linux.intel.com
2025-02-10 23:07:28 +02:00
Ville Syrjälä
37bd8e1b9d
drm/i915: Use DRM_RECT_FMT & co. for plane debugs
...
Switch the plane debugs to use DRM_RECT_FMT & co. instead
of drm_rect_debug_print() so that the debugs go on the same line.
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206185533.32306-12-ville.syrjala@linux.intel.com
2025-02-10 23:07:05 +02:00
Ville Syrjälä
a2ed9f8452
drm/i915: Convert skl_univeral_plane.c to struct intel_display
...
struct intel_display will replace struct drm_i915_private as
the main thing for display code. Convert the skl+ universal plane
code to use it.
Note that we still have two straggles in the form on
HAS_FLAT_CCS() and the pxp stuff.
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206185533.32306-11-ville.syrjala@linux.intel.com
2025-02-10 23:06:29 +02:00
Ville Syrjälä
69e79a3a32
drm/i915: Convert intel_cursor.c to struct intel_display
...
struct intel_display will replace struct drm_i915_private as
the main thing for display code. Convert the cursor code to
use it.
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206185533.32306-10-ville.syrjala@linux.intel.com
2025-02-10 23:06:09 +02:00
Ville Syrjälä
9665025b57
drm/i915: Finish intel_sprite.c struct intel_display conversion
...
intel_sprite.c was partially converted to struct intel_display.
Finish the job now that we can deal with the platform checks
as well.
And while at it we also move the 'display' variable declaration
to be the first thing in most functions, consistency. We can
actually do that now since intel_display() accepts the intel_plane
and intel_plane_state types.
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206185533.32306-9-ville.syrjala@linux.intel.com
2025-02-10 23:05:28 +02:00
Ville Syrjälä
880ed2d84d
drm/i915: Convert i9xx_plane.c to struct intel_display
...
struct intel_display will replace struct drm_i915_private as
the main thing for display code. Convert the pre-skl primary plane
code to use it.
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206185533.32306-8-ville.syrjala@linux.intel.com
2025-02-10 23:03:45 +02:00
Ville Syrjälä
5dcfda5cfa
drm/i915: Convert intel_display_power_{get,put}*() to intel_display
...
Pass intel_display to the display power stuff. These are spread
all over the place so tend to hinder clean conversions of whole
files.
TODO: The gt part/unpark power domain shenanigans need some
kind of more abstract interface...
v2: Deal with cmtg
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206185533.32306-7-ville.syrjala@linux.intel.com
2025-02-10 23:02:35 +02:00
Ville Syrjälä
e3da9834e4
drm/i915: Convert intel_fb.c to struct intel_display
...
struct intel_display will replace struct drm_i915_private as
the main thing for display code. Convert the fb code to
use it.
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206185533.32306-6-ville.syrjala@linux.intel.com
2025-02-10 23:01:16 +02:00
Ville Syrjälä
b2479f7231
drm/i915: Convert intel_crtc.c to struct intel_display
...
struct intel_display will replace struct drm_i915_private as
the main thing for display code. Convert intel_crtc.c code to
use it.
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206185533.32306-5-ville.syrjala@linux.intel.com
2025-02-10 23:01:06 +02:00
Ville Syrjälä
429dd9a60d
drm/i915: Decouple intel_fb_bo.h interfaces from driver specific types
...
Make the intel_fb_bo.h interfaces operated purely in base
drm_ types so that each driver (i915 and xe) doesn't have to
know about each other, or the display stuff.
v2: s/dev/drm/ (Jani)
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206185533.32306-4-ville.syrjala@linux.intel.com
2025-02-10 22:59:50 +02:00
Ville Syrjälä
2bb9476795
drm/i915: Decouple i915_gem_dumb_create() from the display a bit
...
Pass the device argument as drm_device to intel_plane_fb_max_stride()
to decouple i915_gem_dumb_create() vs. the display code a bit.
xe currently doesn't even call this, but it probably should...
v2: s/dev/drm/ (Jani)
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206185533.32306-3-ville.syrjala@linux.intel.com
2025-02-10 22:59:27 +02:00
Ville Syrjälä
3eb1b39820
drm/i915: Pass intel_display to intel_scanout_needs_vtd_wa()
...
Now that intel_scanout_needs_vtd_wa() is no longer used from
the gem code we can convert it to take struct intel_display.
which will help with converting the low level plane code over
as well.
Cc: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206185533.32306-2-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
2025-02-10 22:58:39 +02:00
Jani Nikula
7d94a9a1c4
drm/i915/hdcp: Make some functions static
...
With the debugfs implementation moved next to the implementation, we no
longer need to expose some of the functions. Make them static.
Cc: Suraj Kandpal <suraj.kandpal@intel.com >
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250207105838.179805-1-jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
2025-02-10 13:53:04 +02:00
Jani Nikula
d4e51a45f1
drm/i915/hdcp: Convert platform checks to use display->platform
...
Prefer display->platform.<platform> over IS_<PLATFORM>(i915), and
reducate struct drm_i915_private usages while at it.
Cc: Suraj Kandpal <suraj.kandpal@intel.com >
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/58bad1e888a57a014acbaae67ccddd4f895091a7.1738924826.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
2025-02-10 13:53:04 +02:00
Jani Nikula
3a178c1a23
drm/i915/hdcp: rename intel_connector to connector
...
Follow the current convention of naming struct intel_connector pointers
connector.
Cc: Suraj Kandpal <suraj.kandpal@intel.com >
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/8f43542a8f0ce0ec5725b769c077d3cea723bde0.1738924826.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
2025-02-10 13:53:04 +02:00
Jani Nikula
2c569b955e
drm/i915/hdcp: Move HDCP debugfs to intel_hdcp.c
...
Continue with placing debugfs next to the implementation.
intel_connector_info() still needs intel_hdcp_info(), so we'll need to
expose that too.
Cc: Suraj Kandpal <suraj.kandpal@intel.com >
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/c118e992673f6b054aacaff0e1850fcea329e000.1738924826.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
2025-02-10 13:53:04 +02:00
Imre Deak
9e35a4edb8
drm/i915/dp_mst: Fix disabling the minimum HBlank time
...
Disable the minimum HBlank time only on LNL+, where this functionality
and corresponding register exists.
Bspec: 74379
Fixes: a5ebe00c2a ("drm/i915/dp: Guarantee a minimum HBlank time")
Cc: Arun R Murthy <arun.r.murthy@intel.com >
Cc: Suraj Kandpal <suraj.kandpal@intel.com >
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com >
Signed-off-by: Imre Deak <imre.deak@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206164624.3185280-1-imre.deak@intel.com
2025-02-07 15:09:59 +02:00
Mitul Golani
19214cd747
Revert "drm/i915/dp: Compute as_sdp based on if vrr possible"
...
This reverts commit 08277aa5d5 .
Compute AS SDP params only when VRR is enabled to maintain
PSR exclusivity.
Signed-off-by: Mitul Golani <mitulkumar.ajitkumar.golani@intel.com >
Reviewed-by: Jouni Högander <jouni.hogander@intel.com >
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206045001.2919360-3-mitulkumar.ajitkumar.golani@intel.com
2025-02-07 10:59:14 +05:30
Mitul Golani
faa5259b1e
drm/i915/display: Skip state checker for AS SDP infoframe enable
...
Avoid full modeset by skipping infoframe.enable check when toggling
AS SDP while enabling VRR, preventing full modeset while pipe
config changes.
--v2:
- Add check for exclude_infoframe. (Ankit)
- Update commit message. (Ankit)
--v3:
- Optimise PIPE_CONF_CHECK for infoframes.enable. [Ankit]
Signed-off-by: Mitul Golani <mitulkumar.ajitkumar.golani@intel.com >
Reviewed-by: Jouni Högander <jouni.hogander@intel.com >
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com >
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206045001.2919360-2-mitulkumar.ajitkumar.golani@intel.com
2025-02-07 10:59:13 +05:30
Suraj Kandpal
a5efc8dcfe
drm/i915/backlight: Enable nits based luminance
...
Enable nits based luminance by writing the PANEL_LUMINANCE_CONTROL
bit and set the correct register to change brightness.
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com >
Tested-by: Ben Kao <ben.kao@intel.com >
Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206063253.2827017-9-suraj.kandpal@intel.com
2025-02-06 22:14:43 +05:30
Suraj Kandpal
8d502933ac
drm/i915/backlight: Setup nits based luminance via VESA
...
Modify backlight setup function for VESA interface to take into
account the nits based luminance.
--v2
-Prefer using luminance over nits [Jani]
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com >
Tested-by: Ben Kao <ben.kao@intel.com >
Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206063253.2827017-8-suraj.kandpal@intel.com
2025-02-06 22:14:43 +05:30
Suraj Kandpal
b68074efcf
drm/i915/backlight: Add function to change brightness in nits for VESA
...
Create a function that fills in the value for
PANEL_TARGET_LUMINANCE_VALUE which helps in changing the luminance in
nits using VESA interface.
--v2
-Prefer using luminance over nits [Jani]
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com >
Tested-by: Ben Kao <ben.kao@intel.com >
Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206063253.2827017-7-suraj.kandpal@intel.com
2025-02-06 22:14:42 +05:30
Suraj Kandpal
3f8a009a79
drm/i915/backlight: Modify function to get VESA brightness in Nits
...
Modify vesa_get_brightness function to take into account
luminance_control_support and based on that read the appropriate
register and return the value.
--v2
-Changes since we now use luminance instead of nits
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com >
Tested-by: Ben Kao <ben.kao@intel.com >
Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206063253.2827017-6-suraj.kandpal@intel.com
2025-02-06 22:14:42 +05:30
Suraj Kandpal
6448149792
drm/i915/backlight: Check Luminance based brightness control for VESA
...
Check if we are capable of controlling brightness via luminance
which is dependent on PANEL_LUMINANCE_CONTROL_CAPABLE bit being set
on EDP_GENERAL_CAPABILITY_2 register.
--v2
-Prefer using luminance rather than nits [Jani]
-Fix commit message
--v3
-Fix the bit name used in commit message [Arun]
-Use correct edp_dpcd[] to check the capability [Arun]
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com >
Tested-by: Ben Kao <ben.kao@intel.com >
Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206063253.2827017-5-suraj.kandpal@intel.com
2025-02-06 22:14:42 +05:30
Suraj Kandpal
9535c6a4c6
drm/i915/backlight: Use proper interface based on eDP version
...
eDP is supposed to use VESA interface when using revision 1.5 and above,
use Intel interface for backlight control otherwise. Add check to
use correct interface.
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com >
Tested-by: Ben Kao <ben.kao@intel.com >
Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206063253.2827017-4-suraj.kandpal@intel.com
2025-02-06 22:14:42 +05:30
Suraj Kandpal
9ee1855644
drm/dp: Increase eDP display control capability size
...
Increase the eDP display control capability size to take into
account the general capability register 703 and 704 that have
recently been added.
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com >
Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com >
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206063253.2827017-3-suraj.kandpal@intel.com
2025-02-06 22:14:42 +05:30
Suraj Kandpal
5dfc37a6b7
drm/dp: Add eDP 1.5 bit definition
...
Add the eDP revision bit value for 1.5.
Spec: eDPv1.5 Table 16-5
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com >
Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com >
Tested-by: Ben Kao <ben.kao@intel.com >
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206063253.2827017-2-suraj.kandpal@intel.com
2025-02-06 22:14:42 +05:30
Imre Deak
93ecd4fbad
drm/i915/dp_mst: Fix getting display pointer in intel_dp_mst_compute_min_hblank()
...
The MST intel_connector::encoder pointer is NULL if the connector hasn't
been enabled before, so it can't be used to retrieve the display
pointer. Use instead the crtc_state and drop the unused connector
parameter.
v2: Use the crtc_state and drop the unused connector parameter.
Fixes: a5ebe00c2a ("drm/i915/dp: Guarantee a minimum HBlank time")
Reported-and-tested-by: Khaled Almahallawy <khaled.almahallawy@intel.com >
Closes: https://lore.kernel.org/all/16754ee4cd21d99c1e81c5953134b496dd07630f.camel@intel.com
Reviewed-by: Khaled Almahallawy <khaled.almahallawy@intel.com > #v1
Cc: Arun R Murthy <arun.r.murthy@intel.com >
Cc: Suraj Kandpal <suraj.kandpal@intel.com >
Signed-off-by: Imre Deak <imre.deak@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250206001726.3021787-1-imre.deak@intel.com
2025-02-06 18:20:12 +02:00
Ville Syrjälä
badff5fed9
drm/i915/fbdev: Use fb->normal_view.gtt
...
Grab the GTT view for the fbdev fb pinning from
fb->normal_view.gtt instead of having and extra one on
the stack. Seems safer in case we ever put any new
information into normal GTT views.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250122151755.6928-6-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
2025-02-06 17:39:08 +02:00
Ville Syrjälä
4d291c441b
drm/i915: Use per-plane VT-d guard numbers
...
Bspec lists different VT-d guard numbers (the number of dummy
padding PTEs) for different platforms and plane types. Use those
instead of just assuming the max glk+ number for everything.
This could avoid a bit of overhead on older platforms due to
reduced padding, and it makes it easier to cross check with the
spec.
Note that VLV/CHV do not document this w/a at all, so not sure
if it's actually needed or not. Nor do we actually know how much
padding is required if it is needed. For now use the same 128
PTEs that we use for snb-bdw primary planes.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250122151755.6928-5-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
2025-02-06 15:40:16 +02:00
Ville Syrjälä
44a34dec43
drm/i915: Calculate the VT-d guard size in the display code
...
Currently i915_gem_object_pin_to_display_plane() uses
i915_gem_object_get_tile_row_size() to calculate the tile row
size for the VT-d guard w/a. That's not really proper since
i915_gem_object_get_tile_row_size() only works for fenced BOs,
nor does it take rotation into account.
Remedy the situation by calculating the VT-d guard size in the
display code where we have more information readily available.
Although the default guard size (168 PTEs now) should cover
the more typical fb size use cases anyway, and only very large
Y/Yf-tiled framebuffers might have tile row size that exceeds it.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250122151755.6928-4-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
2025-02-06 15:35:44 +02:00
Ville Syrjälä
2ffa487851
drm/i915: Use more optimal VTd alignment for planes
...
Depending on the platform and/or plane type we can get away
with a bit less alignment in the VT-d w/a. Reduce the numbers
accordingly.
Note that it's not actually clear in VLV/CHV need this w/a,
and if they do we don't actually know what kind of alignment
is sufficient. Leave the 256k alignment in place for now, but
toss in a FIXME.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250122151755.6928-3-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
2025-02-06 15:11:55 +02:00
Ville Syrjälä
241d831213
drm/i915: Move VT-d alignment into plane->min_alignment()
...
Currently we don't account for the VT-d alignment w/a in
plane->min_alignment() which means that panning inside a larger
framebuffer can still cause the plane SURF to be misaligned.
Fix the issue by moving the VT-d alignment w/a into
plane->min_alignment() itself (for the affected platforms).
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250122151755.6928-2-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
2025-02-06 15:11:05 +02:00
Jani Nikula
aa0a9861bf
drm/i915/psr: clarify intel_psr_pre_plane_update() conditions
...
Make the conditions easier to follow. We don't do anything for
!psr->enabled, so hoist psr->enabled check higher, avoiding all the
checks when !psr->enabled. Stop the bitwise OR abuse on booleans by
removing the temporary variable altogether.
v2: Rebase
Cc: Jouni Högander <jouni.hogander@intel.com >
Cc: Suraj Kandpal <suraj.kandpal@intel.com >
Reviewed-by: Jouni Högander <jouni.hogander@intel.com > # v1
Link: https://patchwork.freedesktop.org/patch/msgid/20250204140518.2971530-1-jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
2025-02-06 11:43:29 +02:00
Jani Nikula
d0fcbf81fc
drm/i915/backlight: convert to use struct intel_display
...
Going forward, struct intel_display will be the main display data
structure. Convert as much as possible of backlight code to use it.
There are some stragglers mainly around PCH checks.
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250204132423.2910978-1-jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
2025-02-05 19:57:08 +02:00
Jani Nikula
76a677c510
drm/i915/cx0: convert to struct intel_display based platform checks
...
Switch the IS_<PLATFORM>() checks to display->platform.<platform>, and
drop a number of struct drm_i915_private pointers in the process.
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250204134228.2934744-3-jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
2025-02-05 19:53:56 +02:00
Jani Nikula
f045326676
drm/i915/cdclk: switch to new platform checks
...
Switch the IS_<PLATFORM>() checks to display->platform.<platform>, and
drop a number of struct drm_i915_private pointers in the process.
While at it, replace
/* NOOP */;
with
; /* NOOP */
to avoid a checkpatch warning on misleading indentation.
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250204134228.2934744-2-jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
2025-02-05 19:53:56 +02:00
Jani Nikula
bb68ce5daf
drm/i915/display: convert intel_ddi_buf_trans.c to struct intel_display
...
Going forward, struct intel_display is the main device data structure
for display. Switch to it.
For MISSING_CASE(), log the PCI ID instead of the platform to get rid of
the i915_drv.h dependency.
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com >
Reviewed-by: Matt Roper <matthew.d.roper@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20250204134228.2934744-1-jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
2025-02-05 19:53:56 +02:00