drm/ast: Do not enable PCI resources multiple times
suijingfeng
suijingfeng at loongson.cn
Tue Jul 25 01:12:44 UTC 2023
Hi,
On 2023/7/25 02:34, Thomas Zimmermann wrote:
> Hi
>
> Am 18.07.23 um 07:40 schrieb suijingfeng:
>> Hi,
>>
>>
>> Actually, I'm only a little bit worry about the ast_pm_thaw() code
>> path.
>>
>> |- ast_pm_thaw()
>>
>> |-- ast_drm_thaw()
>>
>> |--- ast_post_gpu()
>
> I'm not quite sure what mean here, because the post-GPU code is not
> involved in this patch.
Ah, I'm get confused with a previous patch.
Previously, the drm/ast driver call ast_init_pci_config() function in
ast_post_gpu().
I also don't know why it need to do so.
Ok then, just remove it.
> All this patch does is to remove duplicated code.
>
Yes, this patch has nothing to do with the ast_post_gpu() function.
> Is there a bug in the post-GPU handling?
>
No, I'm not find one so far.
> Best regards
> Thomas
>
>>
>>
>> Except this, all other code path have pci_enable_device() or
>> pcim_enable_device() called.
>>
>> So, this patch seems OK.
>>
>>
>> On 2023/7/12 21:08, Thomas Zimmermann wrote:
>>> Remove ast_init_pci_config() as the ast driver already enables the PCI
>>> resources by calling pcim_enable_device().
>>>
>>> Suggested-by: Sui Jingfeng <suijingfeng at loongson.cn>
>>> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
>>> Reviewed-by: Jocelyn Falempe <jfalempe at redhat.com>
>>> ---
>>> drivers/gpu/drm/ast/ast_main.c | 21 ---------------------
>>> 1 file changed, 21 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/ast/ast_main.c
>>> b/drivers/gpu/drm/ast/ast_main.c
>>> index 8bfbdfd86d77..dae365ed3969 100644
>>> --- a/drivers/gpu/drm/ast/ast_main.c
>>> +++ b/drivers/gpu/drm/ast/ast_main.c
>>> @@ -35,23 +35,6 @@
>>> #include "ast_drv.h"
>>> -static int ast_init_pci_config(struct pci_dev *pdev)
>>> -{
>>> - int err;
>>> - u16 pcis04;
>>> -
>>> - err = pci_read_config_word(pdev, PCI_COMMAND, &pcis04);
>>> - if (err)
>>> - goto out;
>>> -
>>> - pcis04 |= PCI_COMMAND_MEMORY | PCI_COMMAND_IO;
>>> -
>>> - err = pci_write_config_word(pdev, PCI_COMMAND, pcis04);
>>> -
>>> -out:
>>> - return pcibios_err_to_errno(err);
>>> -}
>>> -
>>> static bool ast_is_vga_enabled(struct drm_device *dev)
>>> {
>>> struct ast_device *ast = to_ast_device(dev);
>>> @@ -483,10 +466,6 @@ struct ast_device *ast_device_create(const
>>> struct drm_driver *drv,
>>> return ERR_PTR(-EIO);
>>> }
>>> - ret = ast_init_pci_config(pdev);
>>> - if (ret)
>>> - return ERR_PTR(ret);
>>> -
>>> if (!ast_is_vga_enabled(dev)) {
>>> drm_info(dev, "VGA not enabled on entry, requesting chip
>>> POST\n");
>>> need_post = true;
>>
>
More information about the dri-devel
mailing list