diff options
author | Mika Kahola <mika.kahola@intel.com> | 2025-08-29 13:12:26 +0300 |
---|---|---|
committer | Mika Kahola <mika.kahola@intel.com> | 2025-09-03 09:48:57 +0300 |
commit | 765531faa42ed76d06f959083dae0da3e8c1a529 (patch) | |
tree | cfcd6e268b7f8eae98831ebcd11c037b9aab980d | |
parent | 5f9bab808180c47426346a4f8f494a642e9f69de (diff) |
drm/i915/display: Fix possible overflow on tc power domain selection
There is a possibility that intel_encoder_to_tc() function
returns negative i.e. TC_PORT_NONE (-1) value which may cause
tc_port_power_domain() function to overflow. To fix this,
let's add additional check that returns invalid power domain
i.e. POWER_DOMAIN_INVALID in case tc port equals TC_PORT_NONE.
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Link: https://lore.kernel.org/r/20250829101226.4085757-1-mika.kahola@intel.com
-rw-r--r-- | drivers/gpu/drm/i915/display/intel_tc.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_tc.c b/drivers/gpu/drm/i915/display/intel_tc.c index 583fed5a386d..23745fc99d35 100644 --- a/drivers/gpu/drm/i915/display/intel_tc.c +++ b/drivers/gpu/drm/i915/display/intel_tc.c @@ -249,6 +249,9 @@ tc_port_power_domain(struct intel_tc_port *tc) { enum tc_port tc_port = intel_encoder_to_tc(&tc->dig_port->base); + if (tc_port == TC_PORT_NONE) + return POWER_DOMAIN_INVALID; + return POWER_DOMAIN_PORT_DDI_LANES_TC1 + tc_port - TC_PORT_1; } |