Re: [PATCH 3/3] drm/i915: move intel_display_device_probe() one level higher

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 13 Sep 2023, Jani Nikula <jani.nikula@xxxxxxxxx> wrote:
> On Tue, 12 Sep 2023, Matt Roper <matthew.d.roper@xxxxxxxxx> wrote:
>> On Tue, Sep 12, 2023 at 03:05:37PM +0300, Jani Nikula wrote:
>>> Don't hide display probe in device info code.
>>> 
>>> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx>
>>> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
>>> ---
>>>  drivers/gpu/drm/i915/i915_driver.c               | 2 ++
>>>  drivers/gpu/drm/i915/intel_device_info.c         | 2 --
>>>  drivers/gpu/drm/i915/selftests/mock_gem_device.c | 2 ++
>>>  3 files changed, 4 insertions(+), 2 deletions(-)
>>> 
>>> diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
>>> index f8dbee7a5af7..b5e1f72cc3ce 100644
>>> --- a/drivers/gpu/drm/i915/i915_driver.c
>>> +++ b/drivers/gpu/drm/i915/i915_driver.c
>>> @@ -735,6 +735,8 @@ i915_driver_create(struct pci_dev *pdev, const struct pci_device_id *ent)
>>>  	/* Set up device info and initial runtime info. */
>>>  	intel_device_info_driver_create(i915, pdev->device, match_info);
>>>  
>>> +	intel_display_device_probe(i915);
>>> +
>>>  	return i915;
>>>  }
>>>  
>>> diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
>>> index b9b8b22540cb..d2ed0f057cb2 100644
>>> --- a/drivers/gpu/drm/i915/intel_device_info.c
>>> +++ b/drivers/gpu/drm/i915/intel_device_info.c
>>> @@ -418,8 +418,6 @@ void intel_device_info_driver_create(struct drm_i915_private *i915,
>>>  	runtime = RUNTIME_INFO(i915);
>>>  	memcpy(runtime, &INTEL_INFO(i915)->__runtime, sizeof(*runtime));
>>>  
>>> -	intel_display_device_probe(i915);
>>> -
>>>  	runtime->device_id = device_id;
>>>  }
>>>  
>>> diff --git a/drivers/gpu/drm/i915/selftests/mock_gem_device.c b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
>>> index da0b269606c5..7de6477803f8 100644
>>> --- a/drivers/gpu/drm/i915/selftests/mock_gem_device.c
>>> +++ b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
>>> @@ -181,6 +181,8 @@ struct drm_i915_private *mock_gem_device(void)
>>>  	/* Set up device info and initial runtime info. */
>>>  	intel_device_info_driver_create(i915, pdev->device, &mock_info);
>>>  
>>> +	intel_display_device_probe(i915);
>>> +
>>
>> I realize this call was already happening with the old code, but do we
>> really want to be probing the (real) display hardware while setting up
>> mock (fake hardware) selftests?  I don't think any of the mock tests
>> should be doing anything display-related, and if they did we'd probably
>> want to add some kind of mock_display_device_probe() instead or using
>> the real hardware?
>
> Thought about it, probably not, but decided it should be a separate
> patch.

Interestingly, the mock code does not set pdev->device, i.e. the device
ID remains 0, and the old style display code would find no
display. However, the GMD ID check goes ahead and probes display. So the
mock device will have display on recognized GMD ID machines. Should fix
that.

BR,
Jani.




>
> BR,
> Jani.
>
>>
>>
>> Matt
>>
>>>  	dev_pm_domain_set(&pdev->dev, &pm_domain);
>>>  	pm_runtime_enable(&pdev->dev);
>>>  	pm_runtime_dont_use_autosuspend(&pdev->dev);
>>> -- 
>>> 2.39.2
>>> 

-- 
Jani Nikula, Intel



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux