Компания Collabora развивает PanCSF, новый Linux-драйвер для GPU Mali

Kate

Administrator
Команда форума
Компания Collabora представила, DRM-драйвер (Direct Rendering Manager) PanCSF, работающий на уровне ядра Linux. Изменения для использования нового драйвера в Mesa планируется опубликовать в ближайшее время. Драйвер нацелен на использование с 10 поколением GPU Mali (G710+), в котором применяется технология CSF (Сommand Stream Frontend), выносящая на сторону прошивки некоторые функции драйвера для снижения нагрузки на CPU и предлагающая новую модель организации выполнения работ на GPU.

В новом поколении GPU Mali планировщик Job Manager заменён на интерфейс CSF (Command Stream Frontend), в котором вместо модели на основе отправки цепочки работ применяется модель на основе потока команд с планированием очереди потока команд на стороне прошивки. Для организации работы планировщика в GPU встроен отдельный микроконтроллер Cortex-M7, а для выполнения инструкций CSF предусмотрен специальный блок выполнения команд (Command Execution Unit). Подобные особенности требуют принципиально другой организации передачи работ в GPU из пространства пользователя.

Изначально была предпринята попытка реализации поддержки GPU Mali на базе CSF в драйвере Panfrost, но разработчики пришли к выводу, что это приведёт к большому усложнению существующего драйвера и для CSF более оптимально создание нового драйвера, построенного с использованием иной архитектуры. В предложенном для тестирования новом драйвере PanCSF реализован полностью новый uAPI, новая логика планирования работ и новая логика управления MMU/GPU-VA. В качестве основы для нового драйвера использован существующий код Panfrost. В драйвере PanCSF заимствованы типовые шаблоны инициализации драйвера, управления частотой и управления питанием, которые вероятно будут переработаны, так как некоторые функции управления энергопотреблением в новых GPU Mali вынесены в прошивку.

 
Сверху