[Intel-gfx] [PATCH v2 12/21] drm/i915: Move HAS_AUX_IRQ definition to platform definition

Jani Nikula jani.nikula at linux.intel.com
Tue Aug 2 12:59:39 UTC 2016


On Fri, 29 Jul 2016, Ville Syrjälä <ville.syrjala at linux.intel.com> wrote:
> On Thu, Jul 28, 2016 at 12:12:27PM -0700, Carlos Santa wrote:
>> Moving all GPU features to the platform struct definition allows for
>> 	- standard place when adding new features from new platforms
>> 	- possible to see supported features when dumping struct
>> 	  definitions
>> 
>> Signed-off-by: Carlos Santa <carlos.santa at intel.com>
>> ---
>>  drivers/gpu/drm/i915/i915_drv.h | 3 ++-
>>  drivers/gpu/drm/i915/i915_pci.c | 4 ++++
>>  2 files changed, 6 insertions(+), 1 deletion(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
>> index 28c7264..50062b6 100644
>> --- a/drivers/gpu/drm/i915/i915_drv.h
>> +++ b/drivers/gpu/drm/i915/i915_drv.h
>> @@ -780,6 +780,7 @@ struct intel_csr {
>>  	func(has_rc6) sep \
>>  	func(has_rc6p) sep \
>>  	func(has_dp_mst) sep \
>> +	func(has_aux_irq) sep \
>>  	func(has_pipe_cxsr) sep \
>>  	func(has_hotplug) sep \
>>  	func(cursor_needs_physical) sep \
>> @@ -2720,7 +2721,7 @@ struct drm_i915_cmd_table {
>>   * legacy irq no. is shared with another device. The kernel then disables that
>>   * interrupt source and so prevents the other device from working properly.
>>   */
>> -#define HAS_AUX_IRQ(dev) (INTEL_INFO(dev)->gen >= 5)
>> +#define HAS_AUX_IRQ(dev) (INTEL_INFO(dev)->has_aux_irq)
>
> These kind of flags I'm not sure will buy us anything. They're not
> likely to change ever, so we're just forcing new platforms to add more
> and more boilerplate to the feature structs/templates.
>
> While I generally disklike negative flags, I'm almost tempted to say
> that for stuff like this, it might be better. That is if we even want to
> turn them into flags.

Yeah, do we really want to turn *everything* into flags? HAS_AUX_IRQ()
has exactly one reference.

BR,
Jani.


>
>
>>  #define HAS_GMBUS_IRQ(dev) (INTEL_INFO(dev)->gen >= 5)
>>  
>>  /* With the 945 and later, Y tiling got adjusted so that it was 32 128-byte
>> diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
>> index 693943f..8780924 100644
>> --- a/drivers/gpu/drm/i915/i915_pci.c
>> +++ b/drivers/gpu/drm/i915/i915_pci.c
>> @@ -180,6 +180,7 @@ static const struct intel_device_info intel_pineview_info = {
>>  #define GEN5_FEATURES \
>>  	.gen = 5, .num_pipes = 2, \
>>  	.need_gfx_hws = 1, .has_hotplug = 1, \
>> +	.has_aux_irq = 1, \
>>  	.ring_mask = RENDER_RING | BSD_RING, \
>>  	GEN_DEFAULT_PIPEOFFSETS, \
>>  	CURSOR_OFFSETS
>> @@ -243,6 +244,7 @@ static const struct intel_device_info intel_ivybridge_q_info = {
>>  	.has_psr = 1, \
>>  	.has_runtime_pm = 1, \
>>  	.has_rc6 = 1, \
>> +	.has_aux_irq = 1, \
>>  	.need_gfx_hws = 1, .has_hotplug = 1, \
>>  	.ring_mask = RENDER_RING | BSD_RING | BLT_RING, \
>>  	.display_mmio_offset = VLV_DISPLAY_BASE, \
>> @@ -321,6 +323,7 @@ static const struct intel_device_info intel_cherryview_info = {
>>  	.has_runtime_pm = 1,
>>  	.has_resource_streamer = 1,
>>  	.has_rc6 = 1,
>> +	.has_aux_irq = 1,
>>  	.display_mmio_offset = VLV_DISPLAY_BASE,
>>  	GEN_CHV_PIPEOFFSETS,
>>  	CURSOR_OFFSETS,
>> @@ -357,6 +360,7 @@ static const struct intel_device_info intel_broxton_info = {
>>  	.has_resource_streamer = 1,
>>  	.has_rc6 = 1,
>>  	.has_dp_mst = 1,
>> +	.has_aux_irq = 1,
>>  	GEN_DEFAULT_PIPEOFFSETS,
>>  	IVB_CURSOR_OFFSETS,
>>  	BDW_COLORS,
>> -- 
>> 1.9.1
>> 
>> _______________________________________________
>> 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