Open Access
Software architecture for display controller and operating system interaction
Author(s) -
Konstantin V. Pugin,
К.А. Мамросенко,
А.М. Гиацинтов
Publication year - 2021
Publication title -
radioèlektronika, nanosistemy, informacionnye tehnologii
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.204
H-Index - 5
eISSN - 2414-1267
pISSN - 2218-3000
DOI - 10.17725/rensit.2021.13.087
Subject(s) - component (thermodynamics) , controller (irrigation) , computer science , graphics , embedded system , software , generator (circuit theory) , operating system , block (permutation group theory) , cover (algebra) , engineering , power (physics) , mechanical engineering , physics , geometry , mathematics , quantum mechanics , agronomy , biology , thermodynamics
Article describes solutions for developing programs that provide interaction between Linux operating system and multiple display controller hardware blocks (outputs), that use one clock generation IP-block with phase-locked loop (PLL). There is no API for such devices in Linux, thus new software model was developed. This model is based on official Linux GPU developer driver model, but was modified to cover case described earlier. Article describes three models for display controller driver development – monolithic, component and semi-monolithic. These models cannot cover case described earlier, because they assume that one clock generator should be attached to one output. A new model was developed, that is based on component model, but has additional mechanics to prevent race condition that can happen while using one clock generator with multiple outputs. Article also presents modified model for bootloaders graphics drivers. This model has been simplified over developed Linux model, but also has component nature (with less components) and race prevention mechanics (but with weaker conditions). Hardware interaction driver components that are developed using provided software models are interchangeable between Linux and bootloader.