drm/i915: Introduce a get_aux_send_ctl() vfunc
We need a bit more flexibility here in the future, bits get shuffled around. v2: more descriptive commit message (Jani Nikula) Reviewed-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
788d4433dc
commit
153b110038
|
@ -493,10 +493,10 @@ intel_dp_aux_ch(struct intel_dp *intel_dp,
|
|||
}
|
||||
|
||||
while ((aux_clock_divider = intel_dp->get_aux_clock_divider(intel_dp, clock++))) {
|
||||
u32 send_ctl = i9xx_get_aux_send_ctl(intel_dp,
|
||||
has_aux_irq,
|
||||
send_bytes,
|
||||
aux_clock_divider);
|
||||
u32 send_ctl = intel_dp->get_aux_send_ctl(intel_dp,
|
||||
has_aux_irq,
|
||||
send_bytes,
|
||||
aux_clock_divider);
|
||||
|
||||
/* Must try at least 3 times according to DP spec */
|
||||
for (try = 0; try < 5; try++) {
|
||||
|
@ -3724,6 +3724,8 @@ intel_dp_init_connector(struct intel_digital_port *intel_dig_port,
|
|||
else
|
||||
intel_dp->get_aux_clock_divider = i9xx_get_aux_clock_divider;
|
||||
|
||||
intel_dp->get_aux_send_ctl = i9xx_get_aux_send_ctl;
|
||||
|
||||
/* Preserve the current hw state. */
|
||||
intel_dp->DP = I915_READ(intel_dp->output_reg);
|
||||
intel_dp->attached_connector = intel_connector;
|
||||
|
|
|
@ -495,6 +495,14 @@ struct intel_dp {
|
|||
struct intel_connector *attached_connector;
|
||||
|
||||
uint32_t (*get_aux_clock_divider)(struct intel_dp *dp, int index);
|
||||
/*
|
||||
* This function returns the value we have to program the AUX_CTL
|
||||
* register with to kick off an AUX transaction.
|
||||
*/
|
||||
uint32_t (*get_aux_send_ctl)(struct intel_dp *dp,
|
||||
bool has_aux_irq,
|
||||
int send_bytes,
|
||||
uint32_t aux_clock_divider);
|
||||
};
|
||||
|
||||
struct intel_digital_port {
|
||||
|
|
Loading…
Reference in New Issue