[Intel-gfx] [PATCH 3/4] drm/i915: move sdvo mappings to vbt data
Jani Nikula
jani.nikula at intel.com
Tue Mar 29 12:25:52 UTC 2016
On Tue, 29 Mar 2016, Daniel Vetter <daniel at ffwll.ch> wrote:
> On Thu, Mar 24, 2016 at 05:50:22PM +0200, Jani Nikula wrote:
>> Move all data initialized from VBT under dev_priv->vbt. No functional
>> changes.
>>
>> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
>> ---
>> drivers/gpu/drm/i915/i915_drv.h | 3 +--
>> drivers/gpu/drm/i915/intel_bios.c | 2 +-
>> drivers/gpu/drm/i915/intel_sdvo.c | 16 ++++++++--------
>> 3 files changed, 10 insertions(+), 11 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
>> index ad6f69ef95d5..bf867e28731d 100644
>> --- a/drivers/gpu/drm/i915/i915_drv.h
>> +++ b/drivers/gpu/drm/i915/i915_drv.h
>> @@ -1491,6 +1491,7 @@ struct intel_vbt_data {
>> union child_device_config *child_dev;
>>
>> struct ddi_vbt_port_info ddi_port_info[I915_MAX_PORTS];
>> + struct sdvo_device_mapping sdvo_mappings[2];
>> };
>>
>> enum intel_ddb_partitioning {
>> @@ -1823,8 +1824,6 @@ struct drm_i915_private {
>>
>> /* Kernel Modesetting */
>>
>> - struct sdvo_device_mapping sdvo_mappings[2];
>> -
>> struct drm_crtc *plane_to_crtc_mapping[I915_MAX_PIPES];
>> struct drm_crtc *pipe_to_crtc_mapping[I915_MAX_PIPES];
>> wait_queue_head_t pending_flip_queue;
>> diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
>> index 3af8a4a2e145..407fb7a12a49 100644
>> --- a/drivers/gpu/drm/i915/intel_bios.c
>> +++ b/drivers/gpu/drm/i915/intel_bios.c
>> @@ -482,7 +482,7 @@ parse_sdvo_device_mapping(struct drm_i915_private *dev_priv,
>> child->slave_addr,
>> (child->dvo_port == DEVICE_PORT_DVOB) ?
>> "SDVOB" : "SDVOC");
>> - p_mapping = &(dev_priv->sdvo_mappings[child->dvo_port - 1]);
>> + p_mapping = &dev_priv->vbt.sdvo_mappings[child->dvo_port - 1];
>
> Is the long-term plan that you pass around a point to dev_priv->vbt into
> all the parsing functions? Could be nice step to reinforce all your work
> to have vbt parsing consolidated into one place.
Yes, eventually I'd like (most of) dev_priv->vbt be private to
intel_bios.c and abstracted away from the rest of the driver.
> Anyway, on patches 2-4: Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>
Thanks, pushed to drm-intel-next-queued.
BR,
Jani.
>
>> if (!p_mapping->initialized) {
>> p_mapping->dvo_port = child->dvo_port;
>> p_mapping->slave_addr = child->slave_addr;
>> diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
>> index fae64bc93c1b..2128fae5687d 100644
>> --- a/drivers/gpu/drm/i915/intel_sdvo.c
>> +++ b/drivers/gpu/drm/i915/intel_sdvo.c
>> @@ -2260,9 +2260,9 @@ intel_sdvo_select_ddc_bus(struct drm_i915_private *dev_priv,
>> struct sdvo_device_mapping *mapping;
>>
>> if (sdvo->port == PORT_B)
>> - mapping = &(dev_priv->sdvo_mappings[0]);
>> + mapping = &dev_priv->vbt.sdvo_mappings[0];
>> else
>> - mapping = &(dev_priv->sdvo_mappings[1]);
>> + mapping = &dev_priv->vbt.sdvo_mappings[1];
>>
>> if (mapping->initialized)
>> sdvo->ddc_bus = 1 << ((mapping->ddc_pin & 0xf0) >> 4);
>> @@ -2278,9 +2278,9 @@ intel_sdvo_select_i2c_bus(struct drm_i915_private *dev_priv,
>> u8 pin;
>>
>> if (sdvo->port == PORT_B)
>> - mapping = &dev_priv->sdvo_mappings[0];
>> + mapping = &dev_priv->vbt.sdvo_mappings[0];
>> else
>> - mapping = &dev_priv->sdvo_mappings[1];
>> + mapping = &dev_priv->vbt.sdvo_mappings[1];
>>
>> if (mapping->initialized &&
>> intel_gmbus_is_valid_pin(dev_priv, mapping->i2c_pin))
>> @@ -2316,11 +2316,11 @@ intel_sdvo_get_slave_addr(struct drm_device *dev, struct intel_sdvo *sdvo)
>> struct sdvo_device_mapping *my_mapping, *other_mapping;
>>
>> if (sdvo->port == PORT_B) {
>> - my_mapping = &dev_priv->sdvo_mappings[0];
>> - other_mapping = &dev_priv->sdvo_mappings[1];
>> + my_mapping = &dev_priv->vbt.sdvo_mappings[0];
>> + other_mapping = &dev_priv->vbt.sdvo_mappings[1];
>> } else {
>> - my_mapping = &dev_priv->sdvo_mappings[1];
>> - other_mapping = &dev_priv->sdvo_mappings[0];
>> + my_mapping = &dev_priv->vbt.sdvo_mappings[1];
>> + other_mapping = &dev_priv->vbt.sdvo_mappings[0];
>> }
>>
>> /* If the BIOS described our SDVO device, take advantage of it. */
>> --
>> 2.1.4
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Jani Nikula, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list