mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 01:55:51 +02:00
drm/i915/ddi: add wrapper for calling ->get_buf_trans() hook
Add intel_ddi_buf_trans_get() wrapper for calling the encoder->get_buf_trans() hooks, allowing for a centralized place to e.g. check for VBT overrides for the buf translations. Cc: Michał Grzelak <michal.grzelak@intel.com> Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com> Link: https://patch.msgid.link/20260415115104.1721008-1-jani.nikula@intel.com Signed-off-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
parent
4fe8f83264
commit
07095bb7ea
|
|
@ -492,7 +492,7 @@ void intel_cx0_phy_set_signal_levels(struct intel_encoder *encoder,
|
|||
|
||||
wakeref = intel_cx0_phy_transaction_begin(encoder);
|
||||
|
||||
trans = encoder->get_buf_trans(encoder, crtc_state, &n_entries);
|
||||
trans = intel_ddi_buf_trans_get(encoder, crtc_state, &n_entries);
|
||||
if (drm_WARN_ON_ONCE(display->drm, !trans)) {
|
||||
intel_cx0_phy_transaction_end(encoder, wakeref);
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -140,7 +140,7 @@ void hsw_prepare_dp_ddi_buffers(struct intel_encoder *encoder,
|
|||
enum port port = encoder->port;
|
||||
const struct intel_ddi_buf_trans *trans;
|
||||
|
||||
trans = encoder->get_buf_trans(encoder, crtc_state, &n_entries);
|
||||
trans = intel_ddi_buf_trans_get(encoder, crtc_state, &n_entries);
|
||||
if (drm_WARN_ON_ONCE(display->drm, !trans))
|
||||
return;
|
||||
|
||||
|
|
@ -172,7 +172,7 @@ static void hsw_prepare_hdmi_ddi_buffers(struct intel_encoder *encoder,
|
|||
enum port port = encoder->port;
|
||||
const struct intel_ddi_buf_trans *trans;
|
||||
|
||||
trans = encoder->get_buf_trans(encoder, crtc_state, &n_entries);
|
||||
trans = intel_ddi_buf_trans_get(encoder, crtc_state, &n_entries);
|
||||
if (drm_WARN_ON_ONCE(display->drm, !trans))
|
||||
return;
|
||||
|
||||
|
|
@ -1106,7 +1106,7 @@ static void skl_ddi_set_iboost(struct intel_encoder *encoder,
|
|||
const struct intel_ddi_buf_trans *trans;
|
||||
int n_entries;
|
||||
|
||||
trans = encoder->get_buf_trans(encoder, crtc_state, &n_entries);
|
||||
trans = intel_ddi_buf_trans_get(encoder, crtc_state, &n_entries);
|
||||
if (drm_WARN_ON_ONCE(display->drm, !trans))
|
||||
return;
|
||||
|
||||
|
|
@ -1132,7 +1132,7 @@ static u8 intel_ddi_dp_voltage_max(struct intel_dp *intel_dp,
|
|||
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
|
||||
int n_entries;
|
||||
|
||||
encoder->get_buf_trans(encoder, crtc_state, &n_entries);
|
||||
intel_ddi_buf_trans_get(encoder, crtc_state, &n_entries);
|
||||
|
||||
if (drm_WARN_ON(display->drm, n_entries < 1))
|
||||
n_entries = 1;
|
||||
|
|
@ -1175,7 +1175,7 @@ static void icl_ddi_combo_vswing_program(struct intel_encoder *encoder,
|
|||
int n_entries, ln;
|
||||
u32 val;
|
||||
|
||||
trans = encoder->get_buf_trans(encoder, crtc_state, &n_entries);
|
||||
trans = intel_ddi_buf_trans_get(encoder, crtc_state, &n_entries);
|
||||
if (drm_WARN_ON_ONCE(display->drm, !trans))
|
||||
return;
|
||||
|
||||
|
|
@ -1293,7 +1293,7 @@ static void icl_mg_phy_set_signal_levels(struct intel_encoder *encoder,
|
|||
if (intel_tc_port_in_tbt_alt_mode(enc_to_dig_port(encoder)))
|
||||
return;
|
||||
|
||||
trans = encoder->get_buf_trans(encoder, crtc_state, &n_entries);
|
||||
trans = intel_ddi_buf_trans_get(encoder, crtc_state, &n_entries);
|
||||
if (drm_WARN_ON_ONCE(display->drm, !trans))
|
||||
return;
|
||||
|
||||
|
|
@ -1394,7 +1394,7 @@ static void tgl_dkl_phy_set_signal_levels(struct intel_encoder *encoder,
|
|||
if (intel_tc_port_in_tbt_alt_mode(enc_to_dig_port(encoder)))
|
||||
return;
|
||||
|
||||
trans = encoder->get_buf_trans(encoder, crtc_state, &n_entries);
|
||||
trans = intel_ddi_buf_trans_get(encoder, crtc_state, &n_entries);
|
||||
if (drm_WARN_ON_ONCE(display->drm, !trans))
|
||||
return;
|
||||
|
||||
|
|
@ -1511,7 +1511,7 @@ int intel_ddi_level(struct intel_encoder *encoder,
|
|||
const struct intel_ddi_buf_trans *trans;
|
||||
int level, n_entries;
|
||||
|
||||
trans = encoder->get_buf_trans(encoder, crtc_state, &n_entries);
|
||||
trans = intel_ddi_buf_trans_get(encoder, crtc_state, &n_entries);
|
||||
if (drm_WARN_ON_ONCE(display->drm, !trans))
|
||||
return 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -1852,3 +1852,10 @@ void intel_ddi_buf_trans_init(struct intel_encoder *encoder)
|
|||
MISSING_CASE(pdev->device);
|
||||
}
|
||||
}
|
||||
|
||||
const struct intel_ddi_buf_trans *intel_ddi_buf_trans_get(struct intel_encoder *encoder,
|
||||
const struct intel_crtc_state *crtc_state,
|
||||
int *n_entries)
|
||||
{
|
||||
return encoder->get_buf_trans(encoder, crtc_state, n_entries);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,5 +77,8 @@ struct intel_ddi_buf_trans {
|
|||
bool is_hobl_buf_trans(const struct intel_ddi_buf_trans *table);
|
||||
|
||||
void intel_ddi_buf_trans_init(struct intel_encoder *encoder);
|
||||
const struct intel_ddi_buf_trans *
|
||||
intel_ddi_buf_trans_get(struct intel_encoder *encoder,
|
||||
const struct intel_crtc_state *crtc_state, int *n_entries);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -301,7 +301,7 @@ void bxt_dpio_phy_set_signal_levels(struct intel_encoder *encoder,
|
|||
enum dpio_phy phy;
|
||||
int lane, n_entries;
|
||||
|
||||
trans = encoder->get_buf_trans(encoder, crtc_state, &n_entries);
|
||||
trans = intel_ddi_buf_trans_get(encoder, crtc_state, &n_entries);
|
||||
if (drm_WARN_ON_ONCE(display->drm, !trans))
|
||||
return;
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
#include "intel_atomic.h"
|
||||
#include "intel_crtc.h"
|
||||
#include "intel_ddi.h"
|
||||
#include "intel_ddi_buf_trans.h"
|
||||
#include "intel_de.h"
|
||||
#include "intel_display_regs.h"
|
||||
#include "intel_display_types.h"
|
||||
|
|
@ -852,7 +853,7 @@ void hsw_fdi_link_train(struct intel_encoder *encoder,
|
|||
u32 temp, i, rx_ctl_val;
|
||||
int n_entries;
|
||||
|
||||
encoder->get_buf_trans(encoder, crtc_state, &n_entries);
|
||||
intel_ddi_buf_trans_get(encoder, crtc_state, &n_entries);
|
||||
|
||||
hsw_prepare_dp_ddi_buffers(encoder, crtc_state);
|
||||
|
||||
|
|
|
|||
|
|
@ -2135,7 +2135,7 @@ void intel_lt_phy_set_signal_levels(struct intel_encoder *encoder,
|
|||
|
||||
wakeref = intel_lt_phy_transaction_begin(encoder);
|
||||
|
||||
trans = encoder->get_buf_trans(encoder, crtc_state, &n_entries);
|
||||
trans = intel_ddi_buf_trans_get(encoder, crtc_state, &n_entries);
|
||||
if (drm_WARN_ON_ONCE(display->drm, !trans)) {
|
||||
intel_lt_phy_transaction_end(encoder, wakeref);
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ void intel_snps_phy_set_signal_levels(struct intel_encoder *encoder,
|
|||
enum phy phy = intel_encoder_to_phy(encoder);
|
||||
int n_entries, ln;
|
||||
|
||||
trans = encoder->get_buf_trans(encoder, crtc_state, &n_entries);
|
||||
trans = intel_ddi_buf_trans_get(encoder, crtc_state, &n_entries);
|
||||
if (drm_WARN_ON_ONCE(display->drm, !trans))
|
||||
return;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user