sirocco |
|
Темы:
29
Сообщения:
2501
Участник с: 25 июля 2007
|
vasekПосмотрел man. А по -xxx оно сильно много выплюнет? |
vasek |
|
Темы:
48
Сообщения:
11340
Участник с: 17 февраля 2013
|
siroccoПроверь - # lspci -s 00:02.0 -nnvvxxx - я иногда смотрю так (конечно, для нужного устройства) PS .... у меня 256 байт..... у тебя, похоже будет больше ...... а может и нет ........ даже интересно - напиши ... точно не помню, давно не заглядывал в спецификацию, но похоже максимум 256 байт ......... а вот насчет раширения уже не помню ...
Ошибки не исчезают с опытом - они просто умнеют
|
sirocco |
|
Темы:
29
Сообщения:
2501
Участник с: 25 июля 2007
|
vasekПопробовал, да, и у меня 256. Никаких изменений при изменении яркости.
|
vasek |
|
Темы:
48
Сообщения:
11340
Участник с: 17 февраля 2013
|
Вообщем был не прав в той части, что не правильно определял регистр F4 (сбили с толку абсолютные адреса в адесном пространстве) ….... вообщем грубо ошибся …. все намного проще, просто перемудрил ….. а нужно было просто считывать прямо в лоб, как эти байты выводятся ….... и считывать нужно было не 64 байта, а все 256 байт, которые отводятся под каждое PCI устройство (а значит значение регистра F4 это 244 байт из 256 байт) И по сути — насколько я понял, можно не смотреть изменяется ли значение этого регистра при изменении яркости …...... а просто смотреть вывод setpci --dumpregs и наличие/описание там регистра, ответственного за эту яркость (если верить инету - это F4) — т.е. если это присутствует, значит регулировка яркости с использованием setpci возможна …. У меня упоминание/описание этого регистра отсутствует
Ошибки не исчезают с опытом - они просто умнеют
|
indeviral |
|
Темы:
38
Сообщения:
3196
Участник с: 10 августа 2013
|
vasek а ничего что intelовские модули счас с drm, не она ли будет блокировать подобные манипуляции??
Ошибки в тексте-неповторимый стиль автора©
|
vasek |
|
Темы:
48
Сообщения:
11340
Участник с: 17 февраля 2013
|
indeviralА вот что блокирует ....... не разбирался ......... но думаю, если в списке регистров в выводе setpci --dumpregs про это будет описано, значит регулироваться будет ... Но это можно точно узнать, если кто то напишет, что у него регулируется и в списке регистров про это написано, а желающих нет ....
Ошибки не исчезают с опытом - они просто умнеют
|
binaryshadow |
|
![]()
Темы:
16
Сообщения:
453
Участник с: 30 августа 2011
|
vasek, раз уж тебя заинтересовало, то могу на пальцах показать. Общий порядок действий (проверено на ноуте Samsung N150): 1. Ищем datasheet (ARK) на чипсет (Чипсет: Intel NM10) там ни слова про VGA, вспоминаем... да там же Atom N450 с интегрированным видео... (находим Intel® AtomTM Processor N400 & N500 Series Datasheet– Volume 2) 2. Находим в нем раздел (8.9.35 LBB - Legacy Backlight Brightness) (к вопросу откуда берется F4.B и собственно адрес устройства 00:00:02.0). 3. Пишем команду setpci, с целью установки значения регистра F4, где B означает byte, в устройстве 00:00:02.0. 4. Радуемся меняющейся подсветке =). Собственно, вот и вся любовь. А тупо считывать что-то и сравнивать - идея не совсем корректная. ЗЫ Способ с setpci в том случае, когда нет возможности через ACPI управлять яркостью. |
vasek |
|
Темы:
48
Сообщения:
11340
Участник с: 17 февраля 2013
|
binaryshadow binaryshadowОткуда берется и как считается все понятно .... но я не уверен, что если это прописано в Datasheet , то это будет прописано в конфигурационном пространстве устройства PCI. На каждое PCI устройство имеется конфигурационное пространство в 256 байт ....... и вся информация об устройстве находится там .... первые 64 байта стандартизованы, остальные зависят от устройства и разработчика …. и всякие там утилиты, например, lspci, setpci вытаскивают эту информацию оттуда, в удобном нам виде. Грубо говоря все эти 256 байт представляют собой PCI регистры (формат little-endian) — одни регистры обязательны, другие необязательны ..... содержание необязательных регистров зависит от реальных возможностей и, возможно прихоти разработчика. Пример некоторых обязательных регистров (видекарта и Wireless Network Adapter) Так вот регистр F4 (его порядковый номер 244), как давно пишут используется для хранения/записи значения подсветки и относится к необязательным.А не понятно мне то, почему на многих новых видеокартах этот регистр не работает (его значение равно 0) и подумал возможно используется другой регистр … а потому и хотел проверить. А наиболее подходящий способ проверки - проверить изменение регистров...... так как просить кого то что то прописывать в эти регистры это не есть хорошо ....... нюансы могут быть всякие и, тем более, есть предупреждения, что это чревато плохим ...... Но потом решил, если у кого этот регистр работает, то он должен быть в списке доступных регистров, т. е. присутствовать в выводе setpci --dumpregs Вариант с проверкой Datasheet, конечно, интересен …. но я на 100% в этом не уверен ….. если прописано, это еще не значит, что это попадет в конфигурационное прострнаство видеокарты ( в 256 байт). Просьба, посмотри вывод setpci --dumpregs — присутствует ли у тебя регистр F4
Ошибки не исчезают с опытом - они просто умнеют
|
binaryshadow |
|
![]()
Темы:
16
Сообщения:
453
Участник с: 30 августа 2011
|
vasekНет не присутствует и не должен, так как это не регистр шины PCI и не общие регистры системы, по этому и не содержатся в файлике "/usr/include/linux/pci.h" (all known PCI registers). Вариант с datasheet самый верный, если такого регистра разработчики оборудования не предусмотрели, значит они реализовали интерфейс ACPI для управления подсветкой. Что является более стандартным подходом. А все пляски с бубнами именно от лени разработчиков и выбранных подходов к реализации данного механизма. |
binaryshadow |
|
![]()
Темы:
16
Сообщения:
453
Участник с: 30 августа 2011
|
ЗЫ Обязательными регистрами, являются регистры относящиеся к конфигурационному пространству устройства PCI, для обеспечения понимания системой устройств PCI. |