[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <42658701-fa7d-1206-abae-5a1e01c060e3@loongson.cn>
Date: Mon, 24 Jul 2023 20:28:50 +0800
From: suijingfeng <suijingfeng@...ngson.cn>
To: Bjorn Helgaas <helgaas@...nel.org>,
Sui Jingfeng <sui.jingfeng@...ux.dev>
Cc: David Airlie <airlied@...il.com>, amd-gfx@...ts.freedesktop.org,
dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
intel-gfx@...ts.freedesktop.org, kvm@...r.kernel.org,
linux-pci@...r.kernel.org, linux-fbdev@...r.kernel.org,
Alex Deucher <alexander.deucher@....com>,
Christian Konig <christian.koenig@....com>,
Pan Xinhui <Xinhui.Pan@....com>,
Daniel Vetter <daniel@...ll.ch>,
Jani Nikula <jani.nikula@...ux.intel.com>,
Joonas Lahtinen <joonas.lahtinen@...ux.intel.com>,
Rodrigo Vivi <rodrigo.vivi@...el.com>,
Tvrtko Ursulin <tvrtko.ursulin@...ux.intel.com>,
Ben Skeggs <bskeggs@...hat.com>,
Karol Herbst <kherbst@...hat.com>,
Lyude Paul <lyude@...hat.com>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Alex Williamson <alex.williamson@...hat.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>,
Hawking Zhang <Hawking.Zhang@....com>,
Mario Limonciello <mario.limonciello@....com>,
Lijo Lazar <lijo.lazar@....com>,
YiPeng Chai <YiPeng.Chai@....com>,
Bokun Zhang <Bokun.Zhang@....com>,
Likun Gao <Likun.Gao@....com>,
Ville Syrjala <ville.syrjala@...ux.intel.com>,
Jason Gunthorpe <jgg@...pe.ca>,
Kevin Tian <kevin.tian@...el.com>,
Cornelia Huck <cohuck@...hat.com>,
Yishai Hadas <yishaih@...dia.com>,
Abhishek Sahu <abhsahu@...dia.com>,
Yi Liu <yi.l.liu@...el.com>,
Jani Nikula <jani.nikula@...el.com>
Subject: Re: [PATCH v3 4/9] PCI/VGA: Improve the default VGA device selection
Hi,
Thanks for you noticed my change.
On 2023/7/20 03:32, Bjorn Helgaas wrote:
>> @@ -1509,13 +1543,24 @@ static int pci_notify(struct notifier_block *nb, unsigned long action,
>> * cases of hotplugable vga cards.
>> */
>>
>> - if (action == BUS_NOTIFY_ADD_DEVICE)
>> + switch (action) {
>> + case BUS_NOTIFY_ADD_DEVICE:
>> notify = vga_arbiter_add_pci_device(pdev);
>> - else if (action == BUS_NOTIFY_DEL_DEVICE)
>> + if (notify)
>> + vga_arbiter_notify_clients();
>> + break;
>> + case BUS_NOTIFY_DEL_DEVICE:
>> notify = vga_arbiter_del_pci_device(pdev);
>> + if (notify)
>> + vga_arbiter_notify_clients();
>> + break;
>> + case BUS_NOTIFY_BOUND_DRIVER:
>> + vga_arbiter_do_arbitration(pdev);
>> + break;
>> + default:
>> + break;
>> + }
> Changing from if/else to switch makes the patch bigger than necessary
> for no real benefit and obscures what is really changing.
Actually, the logic become more clear after this patch applied.
```
switch (action) {
case BUS_NOTIFY_ADD_DEVICE:
notify = vga_arbiter_add_pci_device(pdev);
if (notify)
vga_arbiter_notify_clients();
break;
case BUS_NOTIFY_DEL_DEVICE:
notify = vga_arbiter_del_pci_device(pdev);
if (notify)
vga_arbiter_notify_clients();
break;
case BUS_NOTIFY_BOUND_DRIVER:
vga_arbiter_do_arbitration(pdev);
break;
default:
break;
}
```
Because we only need call vga_arbiter_notify_clients() when action ==
BUS_NOTIFY_ADD_DEVICE or action == BUS_NOTIFY_DEL_DEVICE,
But *NOT* when the action equals to BUS_NOTIFY_BOUND_DRIVER.
Powered by blists - more mailing lists