2023-06-04 21:20:12

by Sui Jingfeng

[permalink] [raw]
Subject: [PATCH v2 1/2] vgaarb: various coding style and comments fix

From: Sui Jingfeng <[email protected]>

To keep consistent with vga_iostate_to_str() function, the third argument
of vga_str_to_iostate() function should be 'unsigned int *'.

Signed-off-by: Sui Jingfeng <[email protected]>
---
drivers/pci/vgaarb.c | 29 +++++++++++++++--------------
include/linux/vgaarb.h | 8 +++-----
2 files changed, 18 insertions(+), 19 deletions(-)

diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c
index 5a696078b382..e40e6e5e5f03 100644
--- a/drivers/pci/vgaarb.c
+++ b/drivers/pci/vgaarb.c
@@ -61,7 +61,6 @@ static bool vga_arbiter_used;
static DEFINE_SPINLOCK(vga_lock);
static DECLARE_WAIT_QUEUE_HEAD(vga_wait_queue);

-
static const char *vga_iostate_to_str(unsigned int iostate)
{
/* Ignore VGA_RSRC_IO and VGA_RSRC_MEM */
@@ -77,10 +76,12 @@ static const char *vga_iostate_to_str(unsigned int iostate)
return "none";
}

-static int vga_str_to_iostate(char *buf, int str_size, int *io_state)
+static int vga_str_to_iostate(char *buf, int str_size, unsigned int *io_state)
{
- /* we could in theory hand out locks on IO and mem
- * separately to userspace but it can cause deadlocks */
+ /*
+ * we could in theory hand out locks on IO and mem
+ * separately to userspace but it can cause deadlocks
+ */
if (strncmp(buf, "none", 4) == 0) {
*io_state = VGA_RSRC_NONE;
return 1;
@@ -99,7 +100,7 @@ static int vga_str_to_iostate(char *buf, int str_size, int *io_state)
return 1;
}

-/* this is only used a cookie - it should not be dereferenced */
+/* This is only used as cookie, it should not be dereferenced */
static struct pci_dev *vga_default;

/* Find somebody in our list */
@@ -194,13 +195,15 @@ int vga_remove_vgacon(struct pci_dev *pdev)
EXPORT_SYMBOL(vga_remove_vgacon);

/* If we don't ever use VGA arb we should avoid
- turning off anything anywhere due to old X servers getting
- confused about the boot device not being VGA */
+ * turning off anything anywhere due to old X servers getting
+ * confused about the boot device not being VGA
+ */
static void vga_check_first_use(void)
{
/* we should inform all GPUs in the system that
* VGA arb has occurred and to try and disable resources
- * if they can */
+ * if they can
+ */
if (!vga_arbiter_used) {
vga_arbiter_used = true;
vga_arbiter_notify_clients();
@@ -865,8 +868,7 @@ static bool vga_arbiter_del_pci_device(struct pci_dev *pdev)
}

/* this is called with the lock */
-static inline void vga_update_device_decodes(struct vga_device *vgadev,
- int new_decodes)
+static void vga_update_device_decodes(struct vga_device *vgadev, int new_decodes)
{
struct device *dev = &vgadev->pdev->dev;
int old_decodes, decodes_removed, decodes_unlocked;
@@ -956,9 +958,9 @@ EXPORT_SYMBOL(vga_set_legacy_decoding);
* @set_decode callback: If a client can disable its GPU VGA resource, it
* will get a callback from this to set the encode/decode state.
*
- * Rationale: we cannot disable VGA decode resources unconditionally some single
- * GPU laptops seem to require ACPI or BIOS access to the VGA registers to
- * control things like backlights etc. Hopefully newer multi-GPU laptops do
+ * Rationale: we cannot disable VGA decode resources unconditionally, some
+ * single GPU laptops seem to require ACPI or BIOS access to the VGA registers
+ * to control things like backlights etc. Hopefully newer multi-GPU laptops do
* something saner, and desktops won't have any special ACPI for this. The
* driver will get a callback when VGA arbitration is first used by userspace
* since some older X servers have issues.
@@ -988,7 +990,6 @@ int vga_client_register(struct pci_dev *pdev,
bail:
spin_unlock_irqrestore(&vga_lock, flags);
return ret;
-
}
EXPORT_SYMBOL(vga_client_register);

diff --git a/include/linux/vgaarb.h b/include/linux/vgaarb.h
index b4b9137f9792..d36225c582ee 100644
--- a/include/linux/vgaarb.h
+++ b/include/linux/vgaarb.h
@@ -23,9 +23,7 @@
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS
- * IN THE SOFTWARE.
- *
+ * DEALINGS IN THE SOFTWARE.
*/

#ifndef LINUX_VGA_H
@@ -96,7 +94,7 @@ static inline int vga_client_register(struct pci_dev *pdev,
static inline int vga_get_interruptible(struct pci_dev *pdev,
unsigned int rsrc)
{
- return vga_get(pdev, rsrc, 1);
+ return vga_get(pdev, rsrc, 1);
}

/**
@@ -111,7 +109,7 @@ static inline int vga_get_interruptible(struct pci_dev *pdev,
static inline int vga_get_uninterruptible(struct pci_dev *pdev,
unsigned int rsrc)
{
- return vga_get(pdev, rsrc, 0);
+ return vga_get(pdev, rsrc, 0);
}

static inline void vga_client_unregister(struct pci_dev *pdev)
--
2.25.1



2023-06-05 22:42:08

by Andi Shyti

[permalink] [raw]
Subject: Re: [Intel-gfx] [PATCH v2 1/2] vgaarb: various coding style and comments fix

Hi Sui,

On Mon, Jun 05, 2023 at 04:58:30AM +0800, Sui Jingfeng wrote:
> From: Sui Jingfeng <[email protected]>
>
> To keep consistent with vga_iostate_to_str() function, the third argument
> of vga_str_to_iostate() function should be 'unsigned int *'.

I think the real reason is not to keep consistent with
vga_iostate_to_str() but because vga_str_to_iostate() is actually
only taking "unsigned int *" parameters.

> Signed-off-by: Sui Jingfeng <[email protected]>
> ---
> drivers/pci/vgaarb.c | 29 +++++++++++++++--------------
> include/linux/vgaarb.h | 8 +++-----
> 2 files changed, 18 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c
> index 5a696078b382..e40e6e5e5f03 100644
> --- a/drivers/pci/vgaarb.c
> +++ b/drivers/pci/vgaarb.c
> @@ -61,7 +61,6 @@ static bool vga_arbiter_used;
> static DEFINE_SPINLOCK(vga_lock);
> static DECLARE_WAIT_QUEUE_HEAD(vga_wait_queue);
>
> -

drop this change

> static const char *vga_iostate_to_str(unsigned int iostate)
> {
> /* Ignore VGA_RSRC_IO and VGA_RSRC_MEM */
> @@ -77,10 +76,12 @@ static const char *vga_iostate_to_str(unsigned int iostate)
> return "none";
> }
>
> -static int vga_str_to_iostate(char *buf, int str_size, int *io_state)
> +static int vga_str_to_iostate(char *buf, int str_size, unsigned int *io_state)

this is OK, it's actually what you are describing in the commit
log, but...

> {
> - /* we could in theory hand out locks on IO and mem
> - * separately to userspace but it can cause deadlocks */
> + /*
> + * we could in theory hand out locks on IO and mem
> + * separately to userspace but it can cause deadlocks
> + */

... all the rest needs to go on different patches as it doesn't
have anything to do with what you describe.

Andi

2023-06-06 02:18:21

by Sui Jingfeng

[permalink] [raw]
Subject: Re: [Intel-gfx] [PATCH v2 1/2] vgaarb: various coding style and comments fix

Hi,

On 2023/6/6 06:16, Andi Shyti wrote:
> Hi Sui,
>
> On Mon, Jun 05, 2023 at 04:58:30AM +0800, Sui Jingfeng wrote:
>> From: Sui Jingfeng <[email protected]>
>>
>> To keep consistent with vga_iostate_to_str() function, the third argument
>> of vga_str_to_iostate() function should be 'unsigned int *'.
> I think the real reason is not to keep consistent with
> vga_iostate_to_str() but because vga_str_to_iostate() is actually
> only taking "unsigned int *" parameters.

Yes, right.

my expression is not completely correct, I will update it at next version.


I think, we have the same opinion.

Originally, I also want to express the opinion.

Because, it make no sense to  interpret the return value

(VGA_RSRC_LEGACY_IO | VGA_RSRC_LEGACY_MEM) as int type.


IO state should be should be donate by a unsigned type.

vga_iostate_to_str() also receive unsigned type.

static const char *vga_iostate_to_str(unsigned int iostate)

>> Signed-off-by: Sui Jingfeng <[email protected]>
>> ---
>> drivers/pci/vgaarb.c | 29 +++++++++++++++--------------
>> include/linux/vgaarb.h | 8 +++-----
>> 2 files changed, 18 insertions(+), 19 deletions(-)
>>
>> diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c
>> index 5a696078b382..e40e6e5e5f03 100644
>> --- a/drivers/pci/vgaarb.c
>> +++ b/drivers/pci/vgaarb.c
>> @@ -61,7 +61,6 @@ static bool vga_arbiter_used;
>> static DEFINE_SPINLOCK(vga_lock);
>> static DECLARE_WAIT_QUEUE_HEAD(vga_wait_queue);
>>
>> -
> drop this change

OK,

This is a double blank line.

Originally, I intend to accumulate all tiny fix, commit together.

As they are trivial.

Now, Should I split this patch,

then this patch set will contain two trivial patch ?

>> static const char *vga_iostate_to_str(unsigned int iostate)
>> {
>> /* Ignore VGA_RSRC_IO and VGA_RSRC_MEM */
>> @@ -77,10 +76,12 @@ static const char *vga_iostate_to_str(unsigned int iostate)
>> return "none";
>> }
>>
>> -static int vga_str_to_iostate(char *buf, int str_size, int *io_state)
>> +static int vga_str_to_iostate(char *buf, int str_size, unsigned int *io_state)
> this is OK, it's actually what you are describing in the commit
> log, but...
>
>> {
>> - /* we could in theory hand out locks on IO and mem
>> - * separately to userspace but it can cause deadlocks */
>> + /*
>> + * we could in theory hand out locks on IO and mem
>> + * separately to userspace but it can cause deadlocks
>> + */
> ... all the rest needs to go on different patches as it doesn't
> have anything to do with what you describe.

OK,

I will wait a few days for more reviews,

I process them together,   also avoid version grow too fast.

Thanks.

> Andi

--
Jingfeng


2023-06-06 10:36:01

by Sui Jingfeng

[permalink] [raw]
Subject: Re: [Intel-gfx] [PATCH v2 1/2] vgaarb: various coding style and comments fix

Hi,

On 2023/6/6 10:06, Sui Jingfeng wrote:
> Originally, I also want to express the opinion.


Originally,  I want to express the same opinion as you told me.

Because vga_iostate_to_str() function is taking unsigned int parameter.

so, I think, using 'unsigned int *' type as the third parameter
vga_str_to_iostate() function is more suitable.


But this patch is too trivial, so I smash them into one patch.


2023-06-06 11:14:39

by Andi Shyti

[permalink] [raw]
Subject: Re: [Intel-gfx] [PATCH v2 1/2] vgaarb: various coding style and comments fix

Hi Sui,

On Tue, Jun 06, 2023 at 06:27:05PM +0800, Sui Jingfeng wrote:
> Hi,
>
> On 2023/6/6 10:06, Sui Jingfeng wrote:
> > Originally, I also want to express the opinion.
>
>
> Originally,? I want to express the same opinion as you told me.
>
> Because vga_iostate_to_str() function is taking unsigned int parameter.
>
> so, I think, using 'unsigned int *' type as the third parameter
> vga_str_to_iostate() function is more suitable.
>
>
> But this patch is too trivial, so I smash them into one patch.

it does not matter. Please keep patches separated. A trivial
patch can be ignored, however lots of trivial patches in a bigger
series might be appreciated.

Have fun!

Andi

2023-06-06 20:05:44

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [Intel-gfx] [PATCH v2 1/2] vgaarb: various coding style and comments fix

Match the subject line style:

$ git log --oneline drivers/pci/vgaarb.c
f321c35feaee PCI/VGA: Replace full MIT license text with SPDX identifier
d5109fe4d1ec PCI/VGA: Use unsigned format string to print lock counts
4e6c91847a7f PCI/VGA: Log bridge control messages when adding devices
dc593fd48abb PCI/VGA: Remove empty vga_arb_device_card_gone()
...

Subject line should be a summary of the commit log, not just "various
style fixes". This one needs to say something about
vga_str_to_iostate().

On Mon, Jun 05, 2023 at 04:58:30AM +0800, Sui Jingfeng wrote:
> From: Sui Jingfeng <[email protected]>
>
> To keep consistent with vga_iostate_to_str() function, the third argument
> of vga_str_to_iostate() function should be 'unsigned int *'.
>
> Signed-off-by: Sui Jingfeng <[email protected]>
> ---
> drivers/pci/vgaarb.c | 29 +++++++++++++++--------------
> include/linux/vgaarb.h | 8 +++-----
> 2 files changed, 18 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c
> index 5a696078b382..e40e6e5e5f03 100644
> --- a/drivers/pci/vgaarb.c
> +++ b/drivers/pci/vgaarb.c
> @@ -61,7 +61,6 @@ static bool vga_arbiter_used;
> static DEFINE_SPINLOCK(vga_lock);
> static DECLARE_WAIT_QUEUE_HEAD(vga_wait_queue);
>
> -
> static const char *vga_iostate_to_str(unsigned int iostate)
> {
> /* Ignore VGA_RSRC_IO and VGA_RSRC_MEM */
> @@ -77,10 +76,12 @@ static const char *vga_iostate_to_str(unsigned int iostate)
> return "none";
> }
>
> -static int vga_str_to_iostate(char *buf, int str_size, int *io_state)
> +static int vga_str_to_iostate(char *buf, int str_size, unsigned int *io_state)
> {
> - /* we could in theory hand out locks on IO and mem
> - * separately to userspace but it can cause deadlocks */
> + /*
> + * we could in theory hand out locks on IO and mem
> + * separately to userspace but it can cause deadlocks
> + */

Omit all the comment formatting changes. They are distractions from the
vga_str_to_iostate() parameter change.

I think this patch should be the single line change to the
vga_str_to_iostate() prototype so it matches the callers.

If you want to do the other comment formatting changes, they're fine,
but they should be all together in a separate patch that clearly
doesn't change the generated code.

Bjorn

2023-06-07 06:28:35

by Sui Jingfeng

[permalink] [raw]
Subject: Re: [Intel-gfx] [PATCH v2 1/2] vgaarb: various coding style and comments fix

Hi,

On 2023/6/7 03:49, Bjorn Helgaas wrote:
> Match the subject line style:
>
> $ git log --oneline drivers/pci/vgaarb.c
> f321c35feaee PCI/VGA: Replace full MIT license text with SPDX identifier
> d5109fe4d1ec PCI/VGA: Use unsigned format string to print lock counts
> 4e6c91847a7f PCI/VGA: Log bridge control messages when adding devices
> dc593fd48abb PCI/VGA: Remove empty vga_arb_device_card_gone()
> ...
>
> Subject line should be a summary of the commit log, not just "various
> style fixes". This one needs to say something about
> vga_str_to_iostate().

Ok, thanks for the educating .

> On Mon, Jun 05, 2023 at 04:58:30AM +0800, Sui Jingfeng wrote:
>> From: Sui Jingfeng <[email protected]>
>>
>> To keep consistent with vga_iostate_to_str() function, the third argument
>> of vga_str_to_iostate() function should be 'unsigned int *'.
>>
>> Signed-off-by: Sui Jingfeng <[email protected]>
>> ---
>> drivers/pci/vgaarb.c | 29 +++++++++++++++--------------
>> include/linux/vgaarb.h | 8 +++-----
>> 2 files changed, 18 insertions(+), 19 deletions(-)
>>
>> diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c
>> index 5a696078b382..e40e6e5e5f03 100644
>> --- a/drivers/pci/vgaarb.c
>> +++ b/drivers/pci/vgaarb.c
>> @@ -61,7 +61,6 @@ static bool vga_arbiter_used;
>> static DEFINE_SPINLOCK(vga_lock);
>> static DECLARE_WAIT_QUEUE_HEAD(vga_wait_queue);
>>
>> -
>> static const char *vga_iostate_to_str(unsigned int iostate)
>> {
>> /* Ignore VGA_RSRC_IO and VGA_RSRC_MEM */
>> @@ -77,10 +76,12 @@ static const char *vga_iostate_to_str(unsigned int iostate)
>> return "none";
>> }
>>
>> -static int vga_str_to_iostate(char *buf, int str_size, int *io_state)
>> +static int vga_str_to_iostate(char *buf, int str_size, unsigned int *io_state)
>> {
>> - /* we could in theory hand out locks on IO and mem
>> - * separately to userspace but it can cause deadlocks */
>> + /*
>> + * we could in theory hand out locks on IO and mem
>> + * separately to userspace but it can cause deadlocks
>> + */
> Omit all the comment formatting changes. They are distractions from the
> vga_str_to_iostate() parameter change.
>
> I think this patch should be the single line change to the
> vga_str_to_iostate() prototype so it matches the callers.
>
> If you want to do the other comment formatting changes, they're fine,
> but they should be all together in a separate patch that clearly
> doesn't change the generated code.

Ok, no problem.

Will be improved at next version.

> Bjorn