В ядре Linux 3.9 ожидается порция изменений и улучшений в драйвере AMD Radeon
Алекс Дейчер (Alex Deucher), разработчик из компании AMD, создал новую Git-ветку drm-next-3.9-wip, в которой размещена порция изменений, которая попадет в ядро Linux 3.9, окно приема изменений для которого открывается через несколько недель. Ресурс Phoronix подытожил наиболее заметные изменения, касающиеся ядерной части открытого драйвера AMD, которые вероятно попадут в ядро 3.9:- Переделан сброс GPU. Улучшенный вариант содержит обновленный код, лучше соответствующий рекомендациям из спецификаций на последовательность программной перезагрузки GPU. Для GPU на основе R600 и новее, реализован специальный флаг, информирующий video BIOS о том факте, что GPU был перезагружен по причине зависания. В процессе перезагрузки теперь анализируются регистры состояний для того чтобы определить какие части графического процессора следует сбрасывать.
- Вызов ioctl, через который производится загрузка команд в GPU, был переделан. Теперь вместо разных функций для разных моделей GPU будет доступна единая функция, разбирающая пакет с набором инструкций для GPU, независимо от типа GPU. Отличия между GPU будут обрабатываться в рамках этой функции. Данный патч был предоставлен Bell Labs. Аргументом за такое решение послужило то, что функции загрузки потока команд в GPU очень похожи для разных моделей, поэтому оказалось возможным выделить общий код для всех GPU.
- Переход к использованию косвенно адресуемых буферов (indirect buffers - IBs) для обновлений таблиц страниц виртуальной памяти ("IBs for VM PT updates"). Это сделано для того чтобы предотвратить переполнение кольца в случае очень больших обновлений таблиц страниц. Кроме того, в результате этого изменения для обновления таблиц страниц теперь будет использоваться кольцо DMA.
- Установка видеорежимов из пользовательского режима объявлена устаревшей (UMS - userspace modesetting). Интерфейс UMS более не поддерживается. Для более-менее свежих, а также будущих GPU, будет реализовываться только установка видеорежимов через ядро (KMS - kernel modesetting). Стоит отметить что xorg-драйвер xf86-video-ati некоторое время назад был переведен на интерфейс KMS и уже не поддерживает использование UMS. Указанное изменение ставит точку в переходе на использование KMS.
Кроме того Алекс Дейчер отметил, что в разработке есть несколько иных (внутренних) проектов, касающихся открытого драйвера, которые разработчики также надеются успеть внедрить в ядро 3.9.
© OpenNet