Для ядра Linux 3.11 представлена серия патчей для управления питанием видеокарт семейства Radeon
Алекс Дейчер (Alex Deucher), разработчик из компании AMD, представил в списке рассылки dri-devel очень большую серию патчей (165 патчей!), которые предположительно войдут в версию ядра Linux 3.11 (radeon drm-next в терминологии разработчиков). Данные патчи предоставляют множество улучшений по работе с GPU семейства Radeon в ядре Linux. Представленные изменения затрагивают видеокарты семейства Radeon, начиная от довольно старых карт семейства HD2000 («R600») до новейших чипов HD7000 на архитектуре GCN и даже еще не выпущенных HD8000.
Хотя данные патчи затрагивают множество аспектов работы GPU семейства Radeon, в данной серии можно легко обнаружить приоритетное направление над которым разработчики компании AMD работали наиболее активно. Таким направлением в этот раз оказалось управление питанием и частотами GPU. Как известно, компания AMD периодически подвергалась критике пользователей, особенно со стороны обладателей мощных видеокарт и владельцев ноутбуков, за плохое управление питанием GPU в открытом видеодрайвере.
В данной серии патчей реализовано динамическое масштабирование частот и напряжений для GPU для которых ранее эта возможность отсутствовала, а для GPU где эта возможность уже была реализована, она была существенно переработана, обнаружен и исправлен ряд ошибок в реализации, внесены разнообразные улучшения. Кроме того, было реализовано активное управление состоянием шины PCI-E (ASPM), при котором энеогопотребление шины PCI-E может быть заметно снижено в режиме бездействия. Также было реализовано отключение тактовых сигналов для не используемых в данный момент блоков GPU («clock gating»).
Дополнительно можно отметить и некоторые иные интересные изменения:
Для Radeon серии HD7000 реализована поддержка PCI-E 2.0 и 3.0; Теперь драйвер может различать, работает ли система от батарей или от сети переменного тока; Ряд исправлений, касающихся инициализации блока UVD на некоторых GPU (как известно, начальная поддержка аппаратного декодирования видео на блоке UVD войдет в состав ядра 3.10). Для еще не выпущенных GPU семейства HD8000 реализована поддержка установки видеорежимов, операций с 3D, вычислений на GPU и работа с UVD.
© OpenNet