Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@intel.com>
To: "Zbigniew Kempczyński" <zbigniew.kempczynski@intel.com>
Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>,
	igt-dev@lists.freedesktop.org,
	Ngai-Mint Kwan <ngai-mint.kwan@linux.intel.com>
Subject: Re: [PATCH i-g-t] lib: sync PCI ID macros with kernel
Date: Tue, 12 Nov 2024 15:02:10 +0200	[thread overview]
Message-ID: <871pzgd2r1.fsf@intel.com> (raw)
In-Reply-To: <20241112115745.qwb2qqovpntdn6uz@zkempczy-mobl2>

On Tue, 12 Nov 2024, Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> wrote:
> On Tue, Nov 12, 2024 at 01:22:47PM +0200, Jani Nikula wrote:
>> On Tue, 12 Nov 2024, Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> wrote:
>> > On Thu, Nov 07, 2024 at 10:49:30PM +0200, Jani Nikula wrote:
>> >> On Thu, 07 Nov 2024, Kamil Konieczny <kamil.konieczny@linux.intel.com> wrote:
>> >> > On 2024-11-06 at 10:58:46 -0800, Ngai-Mint Kwan wrote:
>> >> >> diff --git a/lib/i915_pciids.h b/lib/pciids.h
>> >> >> similarity index 93%
>> >> >> rename from lib/i915_pciids.h
>> >> >> rename to lib/pciids.h
>> >> >> index 3e39d644e..7632507af 100644
>> >> >> --- a/lib/i915_pciids.h
>> >> >> +++ b/lib/pciids.h
>> >> >> @@ -22,30 +22,23 @@
>> >> >>   * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>> >> >>   * DEALINGS IN THE SOFTWARE.
>> >> >>   */
>> >> >> -#ifndef _I915_PCIIDS_H
>> >> >> -#define _I915_PCIIDS_H
>> >> >> -
>> >> >> -/*
>> >> >> - * A pci_device_id struct {
>> >> >> - *	__u32 vendor, device;
>> >> >> - *      __u32 subvendor, subdevice;
>> >> >> - *	__u32 class, class_mask;
>> >> >> - *	kernel_ulong_t driver_data;
>> >> >> - * };
>> >> >> - * Don't use C99 here because "class" is reserved and we want to
>> >> >> - * give userspace flexibility.
>> >> >> - */
>> >> >> -#define INTEL_VGA_DEVICE(id, info) { \
>> >> >> -	0x8086,	id, \
>> >> >> -	~0, ~0, \
>> >> >> -	0x030000, 0xff0000, \
>> >> >> -	(unsigned long) info }
>> >> >> -
>> >> >> -#define INTEL_QUANTA_VGA_DEVICE(info) { \
>> >> >> -	0x8086,	0x16a, \
>> >> >> -	0x152d,	0x8990, \
>> >> >> -	0x030000, 0xff0000, \
>> >> >> -	(unsigned long) info }
>> >> >> +#ifndef __PCIIDS_H__
>> >> >> +#define __PCIIDS_H__
>> >> >> +
>> >> >> +#ifdef __KERNEL__
>> >> >
>> >> > I am not sure if we want a kernel defs, this is for userspace
>> >> > so imho this ifdef KERNEL/endif should be deleted. Or write
>> >> > a rationale why you included it here, or make it a comment?
>> >> > +cc Zbigniew
>> >> 
>> >> The file comes verbatim from kernel.
>> >
>> > I have mixed feelings about copying kernel headers here directly
>> > if they are not uapi. However __KERNEL__ conditional was added to
>> > this header intentionally so copying this file outside the kernel
>> > and further reuse in userspace code is harmless. But I would add
>> > some explanation to README.md about pciids.h copying procedure
>> > for the future.
>> 
>> We've been doing this for PCI IDs for at least 10 years, and for
>> intel_vbt_defs.h for at least 7 years.
>> 
>> Please feel free to send documentation patches.
>
> I see no __KERNEL__ in current xe_pciids.h and i915_pciids.h so
> there's some change from my perspective. intel_vbt_defs.h also
> doesn't contain any kernel conditional inside. I think author
> of this change should provide additional documentation about this
> (not me) - commit message for me is not enough. Till this change
> I haven't noticed any __KERNEL__ usage in igt codebase and I think
> if it appears it should be documented what's for dead code is
> imported to the project.

See igt commit e966143f5c5f ("lib/intel_device_info: use dedicated macro
for struct pci_id_match init"). INTEL_VGA_DEVICE has been unused in igt
since then.

I wrapped the macro in #ifdef __KERNEL__ in kernel commit fc9cb46bdca8
("drm/i915/pciids: use designated initializers in INTEL_VGA_DEVICE()")
to avoid it being used in igt again.

I'm not going to document this further in igt.


BR,
Jani.


-- 
Jani Nikula, Intel

  reply	other threads:[~2024-11-12 13:02 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-06 18:58 [PATCH i-g-t] lib: sync PCI ID macros with kernel Ngai-Mint Kwan
2024-11-06 20:11 ` ✓ Fi.CI.BAT: success for " Patchwork
2024-11-06 20:12 ` ✓ CI.xeBAT: " Patchwork
2024-11-06 23:49 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-11-13 14:02   ` Kamil Konieczny
2024-11-07  9:34 ` [PATCH i-g-t] " Jani Nikula
2024-11-07 17:31   ` Ngai-Mint Kwan
2024-11-07 17:08 ` Kamil Konieczny
2024-11-07 18:24   ` Ngai-Mint Kwan
2024-11-07 20:49   ` Jani Nikula
2024-11-12 11:09     ` Zbigniew Kempczyński
2024-11-12 11:22       ` Jani Nikula
2024-11-12 11:57         ` Zbigniew Kempczyński
2024-11-12 13:02           ` Jani Nikula [this message]
2024-11-13  6:48             ` Zbigniew Kempczyński
2024-11-13  9:01               ` Jani Nikula
2024-11-08  2:39 ` ✗ CI.xeFULL: failure for " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871pzgd2r1.fsf@intel.com \
    --to=jani.nikula@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=kamil.konieczny@linux.intel.com \
    --cc=ngai-mint.kwan@linux.intel.com \
    --cc=zbigniew.kempczynski@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox