intel_reg(1) General Commands Manual intel_reg(1)

intel_reg - ابزار چندمنظوره برای ثبات‌های گرافیک Intel

intel_reg [OPTIONS] COMMAND

ابزار چندمنظوره برای ثبات‌های پردازنده گرافیکی Intel. خواندن، نوشتن، استخراج (dump) و رمزگشایی ثبات‌های MMIO و sideband گرافیک Intel و موارد دیگر.

برخی از گزینه‌ها عمومی هستند و برخی دیگر به دستورهای خاصی اختصاص دارند.

افزایش جزئیات خروجی.
کاهش جزئیات خروجی.
خواندن N ثبات.
چاپ خروجی مقادیر در قالب باینری (دودویی).
رمزگشایی ثبات‌ها. به‌طور پیش‌فرض تنها از آفست‌های خام استفاده می‌شود، مگر اینکه دستوری بدون آن کار نکند یا گزینه دیگری فعال‌سازی آن را اجباری کرده باشد. برای جزئیات بیشتر بخش دستورها (COMMANDS) را در ادامه ببینید.
رمزگشایی ثبات‌ها برای همه پلتفرم‌های شناخته‌شده. این گزینه مستلزم --decode است.
استفاده از MMIO bar از FILE.
تظاهر به عنوان شناسه سخت‌افزاری DEVID مربوط به PCI ID. برای تصویرهای لحظه‌ای (snapshots) مربوط به MMIO bar از سیستم‌های دیگر کاربرد دارد.
یافتن GPU شرکت Intel بر اساس اسلات PCI. در سخت‌افزارهای مجهز به چند پردازنده گرافیکی مفید است.
خواندن مشخصات ثبات (register spec) از دایرکتوری یا فایل مشخص‌شده توسط PATH؛ برای جزئیات به بخش تعاریف مشخصات ثبات (REGISTER SPEC DEFINITIONS) در ادامه مراجعه کنید. این گزینه مستلزم --decode است.
نمایش راهنمای مختصر.

برای چگونگی توصیف ثبات‌ها برای دستورها، به بخش مراجع ثبات (REGISTER REFERENCES) در ادامه مراجعه کنید.

استخراج هر REGISTER مشخص‌شده، یا N ثبات با شروع از هر REGISTER.

نوشتن هر VALUE در REGISTER متناظر.

استخراج تمامی ثبات‌های مشخص‌شده در مشخصات ثبات. گزینه --decode به‌طور ضمنی فعال می‌شود.

رمزگشایی REGISTER VALUE. گزینه --decode به‌طور ضمنی فعال می‌شود.

فهرست کردن ثبات‌های شناخته‌شده. گزینه --decode به‌طور ضمنی فعال می‌شود.

نمایش راهنمای مختصر.

ثبات‌ها به صورت [(PORTNAME|PORTNUM|ENGINE|MMIO-OFFSET):](REGNAME|REGADDR) تعریف می‌شوند.

روش دسترسی به ثبات، که اغلب MMIO و حالت پیش‌فرض است. روش‌های پشتیبانی‌شده در همه پلتفرم‌ها عبارتند از "mmio"، "portio-vga" و "mmio-vga".

در BYT و CHV، درگاه‌های جانبی (sideband) شامل "bunit"، "punit"، "nc"، "dpio"، "gpio-nc"، "cck"، "ccu"، "dpio2" و "flisdsi" نیز پشتیبانی می‌شوند.

شماره درگاه برای درگاه‌های جانبی پشتیبانی‌شده در BYT و CHV. تنها اعدادی مجاز هستند که به درگاه‌های پشتیبانی‌شده نگاشت شده باشند؛ اعداد دلخواه پذیرفته نمی‌شوند.

اعداد بزرگ‌تر از 0xff به‌طور خودکار به عنوان آفست‌های MMIO تفسیر می‌شوند، نه شماره درگاه.

به جای MMIO مبتنی بر CPU، می‌توان از موتور (engine) مشخص‌شده برای روش دسترسی استفاده کرد. یک Batchbuffer برای خواندن/نوشتن به سمت آن موتور هدایت خواهد شد. فهرست موتورهای موجود وابسته به معماری است و با دستور "intel_reg help" قابل مشاهده می‌باشد. افزودن پیشوند '-' به نام موتور، از یک batchbuffer غیرممتاز برای دسترسی استفاده می‌کند.
استفاده از MMIO، و افزودن این آفست به آدرس ثبات.

اعداد مساوی یا کمتر از 0xff به‌طور خودکار به عنوان شماره درگاه تفسیر می‌شوند، نه آفست MMIO.

نام ثبات همان‌طور که در مشخصات ثبات تعریف شده است.

اگر آفست MMIO مشخص نشده باشد، از مشخصات ثبات برداشته می‌شود. با این حال، درگاه‌ها این‌گونه نیستند؛ درگاه به عنوان یک فضای نام برای نام‌های ثبات عمل می‌کند.

آدرس ثبات. نیازی نیست نام ثبات متناظر در مشخصات ثبات تعریف شده باشد.

مسیر دایرکتوری یا فایلی که حاوی تعاریف مشخصات ثبات است.

مشخصات ثبات (register spec)، نام‌های ثبات را به آدرس‌ها مرتبط می‌کند. جستجو برای مشخصات به این ترتیب انجام می‌شود:

1.
دایرکتوری یا فایل مشخص‌شده توسط گزینه --spec.
2.
دایرکتوری یا فایل مشخص‌شده توسط متغیر محیطی INTEL_REG_SPEC.
3.
مشخصات ثبات توکار (Builtin). همچنین در صورتی که موارد بالا استفاده شوند اما با خطا مواجه گردند، به عنوان راه‌حل پشتیبان همراه با یک هشدار استفاده خواهد شد.

اگر دایرکتوری با استفاده از گزینه --spec یا متغیر محیطی INTEL_REG_SPEC مشخص شده باشد، دایرکتوری برای یافتن فایل مشخصات به این ترتیب پویش می‌شود:

1.
فایلی که بر اساس شناسه دستگاه PCI (device id) نام‌گذاری شده است. برای مثال، "0412".
2.
فایلی که بر اساس نام رمزی (code name) با حروف کوچک و بدون نشانه‌گذاری نام‌گذاری شده است. برای مثال، "valleyview".
3.
فایلی که بر اساس نسل (generation) نام‌گذاری شده است. برای مثال، "gen7" (توجه داشته باشید که این مورد با valleyview، ivybridge و haswell مطابقت دارد!).

قالب مشخصات ثبات به طور خلاصه در زیر توضیح داده شده است:

  • خطوط خالی و خطوطی که با "#"، ";" یا "//" شروع می‌شوند نادیده گرفته می‌شوند.
  • خطوطی که با "(" شروع نمی‌شوند به عنوان نام فایل‌ها (مطلق یا نسبی) برای گنجانده شدن (include) در نظر گرفته می‌شوند.
  • خطوطی که با "(" شروع می‌شوند به عنوان تعاریف ثبات تفسیر می‌گردند.

ثبات‌ها به صورت چندتایی‌های ('REGNAME', 'REGADDR', 'PORTNAME|PORTNUM|MMIO-OFFSET')، مشابه ارجاعات ثبات (REGISTER REFERENCES) در بالا، تعریف می‌شوند. توضیحات پورت همچنین می‌تواند یک رشته خالی برای نشان دادن MMIO باشد.

مثال‌ها:

  • # this is a comment, below is an include
  • vlv_pipe_a.txt
  • ('GEN6_PMINTRMSK', '0x0000a168', '')
  • ('MIPIA_PORT_CTRL', '0x61190', '0x180000')
  • ('PLL1_DW0', '0x8000', 'DPIO')

خواندن برخی از ثبات‌ها ممکن است موجب توقف کامل (hang) پردازنده گرافیکی یا کل سیستم شود.

گزارش باگ‌ها در گیت‌لب fd.o: https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues

Jani Nikula <jani.nikula@intel.com>

2015-2025 Intel Corporation

2016-03-01 igt-gpu-tools 2.5