Lưu ý
Mục đích của file này là để độc giả tiếng Việt có thể đọc và hiểu tài liệu nhân kernel dễ dàng hơn, không phải để tạo ra một nhánh tài liệu riêng. Nếu bạn có bất kỳ nhận xét hoặc cập nhật nào cho file này, vui lòng thử cập nhật file tiếng Anh gốc trước. Nếu bạn thấy có sự khác biệt giữa bản dịch và bản gốc, hoặc có vấn đề về bản dịch, vui lòng gửi góp ý hoặc patch cho người dịch của file này, hoặc nhờ người bảo trì và người review tài liệu tiếng Việt giúp đỡ.
- Bản gốc:
- Người dịch:
Google Translate (machine translation)
- Phiên bản gốc:
8541d8f725c6
Cảnh báo
Tài liệu này được dịch tự động bằng máy và chưa được review bởi người dịch. Nội dung có thể không chính xác hoặc khó hiểu ở một số chỗ. Khi có sự khác biệt với bản gốc, bản gốc luôn là chuẩn. Bản dịch chất lượng cao (được review) được đặt trong thư mục vi_VN/.
Cài đặt chế độ hạt nhân (KMS)¶
Trình điều khiển phải khởi tạo lõi cài đặt chế độ bằng cách gọi
drmm_mode_config_init() trên thiết bị DRM. chức năng
khởi tạo ZZ0000ZZ
trường mode_config và không bao giờ bị lỗi. Sau khi thực hiện xong, cấu hình chế độ phải
được thiết lập bằng cách khởi tạo các trường sau.
- int min_width, min_height; int max_width, max_height;
Chiều rộng và chiều cao tối thiểu và tối đa của vùng đệm khung tính bằng pixel đơn vị.
- struct drm_mode_config_funcs *funcs;
Chức năng cài đặt chế độ.
Tổng quan¶
KMS Display Pipeline Overview¶
Cấu trúc đối tượng cơ bản mà KMS trình bày cho không gian người dùng khá đơn giản. Bộ đệm khung (đại diện bởi ZZ0000ZZ, xem ZZ0003ZZ) đưa vào mặt phẳng. Các mặt phẳng được biểu diễn bởi ZZ0001ZZ, xem ZZ0004ZZ để biết thêm chi tiết. Một hoặc nhiều (hoặc thậm chí không có) mặt phẳng nào cung cấp dữ liệu pixel của chúng vào CRTC (đại diện bởi ZZ0002ZZ, xem ZZ0005ZZ) để pha trộn. Bước trộn chính xác được giải thích chi tiết hơn trong ZZ0006ZZ và các chương liên quan.
Để định tuyến đầu ra, bước đầu tiên là bộ mã hóa (được biểu thị bằng ZZ0000ZZ, xem ZZ0001ZZ). Những cái đó thực sự chỉ là tạo phẩm nội bộ của các thư viện trợ giúp được sử dụng để triển khai KMS trình điều khiển. Ngoài ra, chúng còn khiến không gian người dùng trở nên phức tạp hơn một cách không cần thiết. để tìm ra những kết nối nào có thể thực hiện được giữa CRTC và đầu nối và loại nhân bản nào được hỗ trợ, chúng không phục vụ mục đích nào trong không gian người dùng API. Rất tiếc, bộ mã hóa đã tiếp xúc với không gian người dùng nên không thể xóa chúng vào thời điểm này. Hơn nữa, các hạn chế được đưa ra thường được đặt sai bởi trình điều khiển và trong nhiều trường hợp không đủ mạnh để thể hiện những hạn chế thực sự. CRTC có thể được kết nối với nhiều bộ mã hóa và đối với CRTC đang hoạt động thì phải có có ít nhất một bộ mã hóa.
Điểm cuối thực và cuối cùng trong chuỗi hiển thị là đầu nối (được biểu thị bởi ZZ0000ZZ, xem ZZ0001ZZ). Các trình kết nối có thể có các bộ mã hóa khác nhau, nhưng hạt nhân trình điều khiển chọn bộ mã hóa sẽ sử dụng cho mỗi đầu nối. Trường hợp sử dụng là DVI, có thể chuyển đổi giữa bộ mã hóa analog và kỹ thuật số. Bộ mã hóa cũng có thể điều khiển nhiều đầu nối khác nhau. Có chính xác một trình kết nối hoạt động cho mọi bộ mã hóa đang hoạt động.
Quy trình đầu ra bên trong phức tạp hơn một chút và phù hợp với quy trình ngày nay phần cứng chặt chẽ hơn:
KMS Output Pipeline¶
Bên trong có hai đối tượng trợ giúp bổ sung phát huy tác dụng. Đầu tiên, để có thể chia sẻ mã cho bộ mã hóa (đôi khi trên cùng một SoC, đôi khi ngoài chip) một hoặc thêm ZZ0000ZZ (đại diện là ZZ0001ZZ) có thể được liên kết với bộ mã hóa. Liên kết này là tĩnh và không thể đã thay đổi, có nghĩa là thanh ngang (nếu có) cần được ánh xạ giữa CRTC và bất kỳ bộ mã hóa nào. Thường đối với những người lái xe có cầu thì không còn mã ở cấp độ bộ mã hóa. Trình điều khiển nguyên tử có thể loại bỏ tất cả lệnh gọi lại bộ mã hóa thành về cơ bản chỉ để lại một đối tượng định tuyến giả phía sau, điều này cần thiết cho khả năng tương thích ngược vì bộ mã hóa được tiếp xúc với không gian người dùng.
Đối tượng thứ hai dành cho các bảng, được biểu thị bằng ZZ0000ZZ, xem ZZ0001ZZ. Các tấm không có ràng buộc cố định điểm, nhưng thường được liên kết với cấu trúc riêng của trình điều khiển nhúng ZZ0002ZZ.
Lưu ý rằng hiện tại việc kết nối cầu nối và tương tác với các đầu nối và các bảng vẫn đang thay đổi và chưa thực sự được sắp xếp đầy đủ.
Cấu trúc và chức năng cốt lõi của KMS¶
Trừu tượng hóa đối tượng cơ sở Modeset¶
Mode Objects and Properties¶
Cấu trúc cơ sở cho tất cả các đối tượng KMS là ZZ0000ZZ. Một trong những dịch vụ cơ bản mà nó cung cấp là theo dõi các thuộc tính,
điều này đặc biệt quan trọng đối với IOCTL nguyên tử (xem ZZ0002ZZ). Phần đáng ngạc nhiên ở đây là các thuộc tính không
được khởi tạo trực tiếp trên từng đối tượng, nhưng bản thân các đối tượng ở chế độ độc lập,
được đại diện bởi ZZ0001ZZ, chỉ xác định
loại và phạm vi giá trị của một thuộc tính. Bất kỳ thuộc tính nào cũng có thể được đính kèm
nhiều lần tới các đối tượng khác nhau bằng cách sử dụng drm_object_attach_property().
Cài đặt chế độ nguyên tử¶
Mode Objects and Properties¶
Atomic cung cấp các cập nhật về chế độ giao dịch (bao gồm cả mặt phẳng), nhưng một hơi khác so với cách tiếp cận giao dịch thông thường của cam kết thử và quay lại:
Thứ nhất, không được phép thay đổi phần cứng khi cam kết không thành công. Cái này cho phép chúng tôi triển khai chế độ DRM_MODE_ATOMIC_TEST_ONLY, cho phép không gian người dùng để khám phá xem một số cấu hình nhất định có hoạt động hay không.
Điều này vẫn sẽ cho phép cài đặt và khôi phục trạng thái phần mềm, đơn giản hóa việc chuyển đổi các trình điều khiển hiện có. Nhưng việc kiểm tra trình điều khiển cho tính chính xác của mã Atomic_check trở nên thực sự khó khăn với điều đó: Cán khó có thể thực hiện đúng những thay đổi trong cấu trúc dữ liệu ở khắp mọi nơi.
Cuối cùng, để tương thích ngược và hỗ trợ tất cả các trường hợp sử dụng, nguyên tử các bản cập nhật cần phải tăng dần và có thể thực hiện song song. Phần cứng không phải lúc nào cũng cho phép, nhưng nếu có thể, hãy cập nhật máy bay trên các CRTC khác nhau không nên can thiệp và không bị đình trệ do định tuyến đầu ra thay đổi CRTC khác nhau.
Tổng hợp tất cả lại, có hai hệ quả đối với thiết kế nguyên tử:
Trạng thái tổng thể được chia thành các cấu trúc trạng thái theo từng đối tượng: ZZ0000ZZ cho mặt phẳng, ZZ0001ZZ cho CRTC và ZZ0002ZZ cho đầu nối. Đây là những thứ duy nhất các đối tượng có trạng thái có thể nhìn thấy và có thể cài đặt trong không gian người dùng. Đối với trình điều khiển trạng thái nội bộ có thể phân lớp các cấu trúc này thông qua việc nhúng hoặc thêm trạng thái hoàn toàn mới cấu trúc cho các chức năng phần cứng được chia sẻ toàn cầu của họ, xem ZZ0003ZZ.
Một bản cập nhật nguyên tử được tập hợp và xác nhận dưới dạng một đống hoàn toàn độc lập của các cấu trúc trong ZZ0000ZZ thùng chứa. Cấu trúc trạng thái riêng của trình điều khiển cũng được theo dõi trong cùng kết cấu; xem chương tiếp theo. Chỉ khi một trạng thái được cam kết thì nó mới được áp dụng tới các đối tượng trình điều khiển và chế độ. Bằng cách này, việc khôi phục bản cập nhật sẽ hoàn tất để giải phóng bộ nhớ và các đối tượng không tham chiếu như bộ đệm khung.
Khóa cấu trúc trạng thái nguyên tử được sử dụng nội bộ bằng ZZ0000ZZ. Theo nguyên tắc chung, không nên khóa
tiếp xúc với người lái xe, thay vào đó, các khóa phù hợp sẽ được tự động lấy bằng cách
bất kỳ chức năng nào sao chép hoặc nhìn vào một trạng thái, chẳng hạn như
drm_atomic_get_crtc_state(). Khóa chỉ bảo vệ dữ liệu phần mềm
cấu trúc, thứ tự cam kết thay đổi trạng thái đối với phần cứng được sắp xếp theo trình tự bằng cách sử dụng
ZZ0001ZZ.
Đọc tiếp trong chương này và cả trong ZZ0000ZZ để biết thêm chi tiết bao quát các chủ đề cụ thể.
Xử lý trạng thái riêng của tài xế¶
Tham khảo chức năng cài đặt chế độ nguyên tử¶
Cài đặt chế độ nguyên tử Chức năng IOCTL và UAPI¶
Trừu tượng CRTC¶
Tham khảo chức năng CRTC¶
Tham khảo chức năng quản lý màu¶
Trừu tượng bộ đệm khung¶
Tham khảo chức năng bộ đệm khung¶
Xử lý định dạng DRM¶
Tham khảo hàm định dạng¶
Đối tượng đệm câm¶
Trừu tượng mặt phẳng¶
Tham khảo hàm mặt phẳng¶
Tham chiếu hàm thành phần mặt phẳng¶
Tham khảo chức năng theo dõi hư hỏng máy bay¶
Tính năng hoảng loạn máy bay¶
Tài liệu tham khảo về chức năng hoảng loạn của máy bay¶
Trừu tượng màu¶
Tham khảo chức năng Colorop¶
Chế độ hiển thị Chức năng Tham khảo¶
Trừu tượng hóa trình kết nối¶
Tham khảo chức năng kết nối¶
Trình kết nối ghi lại¶
Trừu tượng bộ mã hóa¶
Tham khảo chức năng bộ mã hóa¶
Khóa KMS¶
Thuộc tính KMS¶
Phần tài liệu này chủ yếu nhắm đến các nhà phát triển không gian người dùng. Đối với API trình điều khiển, hãy xem các phần khác.
Yêu cầu¶
Trình điều khiển KMS có thể cần thêm các thuộc tính bổ sung để hỗ trợ các tính năng mới. Mỗi Thuộc tính mới được giới thiệu trong trình điều khiển cần phải đáp ứng một số yêu cầu, trong ngoài cái đã đề cập ở trên:
Phải được chuẩn hóa, ghi chép:
Chuỗi tên đầy đủ, chính xác; * Nếu thuộc tính là enum, tất cả các chuỗi tên giá trị hợp lệ; * Những giá trị nào được chấp nhận và những giá trị này có ý nghĩa gì; * Tài sản có tác dụng gì và có thể sử dụng tài sản đó như thế nào; * Làm thế nào tài sản có thể tương tác với các tài sản hiện có khác.
Nó phải cung cấp một trình trợ giúp chung trong mã lõi để đăng ký thuộc tính trên đối tượng mà nó gắn vào.
Nội dung của nó phải được giải mã bởi lõi và cung cấp trong đối tượng cấu trúc trạng thái liên quan Điều đó bao gồm mọi thứ mà người lái xe có thể muốn để tính toán trước, như
struct drm_clip_ectcho mặt phẳng.Trạng thái ban đầu của nó phải khớp với hành vi trước thuộc tính giới thiệu. Đây có thể là một giá trị cố định phù hợp với những gì phần cứng có, hoặc nó có thể được kế thừa từ trạng thái phần sụn còn lại hệ thống trong khi khởi động.
Phải gửi bài kiểm tra IGT nếu hợp lý.
Vì lý do lịch sử, tồn tại các thuộc tính không chuẩn, dành riêng cho trình điều khiển. Nếu là KMS driver muốn thêm hỗ trợ cho một trong những thuộc tính đó, các yêu cầu đối với các thuộc tính mới được áp dụng nếu có thể. Ngoài ra, hành vi được ghi lại phải khớp với ngữ nghĩa thực tế của thuộc tính hiện có để đảm bảo tính tương thích. Các nhà phát triển trình điều khiển đã thêm thuộc tính lần đầu tiên sẽ trợ giúp những vấn đề đó nhiệm vụ và phải ACK hành vi được ghi lại nếu có thể.
Các loại thuộc tính và hỗ trợ thuộc tính Blob¶
Thuộc tính kết nối tiêu chuẩn¶
Thuộc tính kết nối cụ thể của HDMI¶
Thuộc tính kết nối cụ thể của TV analog¶
Thuộc tính CRTC tiêu chuẩn¶
Thuộc tính mặt phẳng tiêu chuẩn¶
Thuộc tính thành phần mặt phẳng¶
Thuộc tính theo dõi thiệt hại¶
Thuộc tính quản lý màu¶
Thuộc tính nhóm ngói¶
Thuộc tính hàng rào rõ ràng¶
Thuộc tính làm mới biến¶
Thuộc tính điểm phát sóng con trỏ¶
Thuộc tính KMS hiện có¶
Bảng sau đây mô tả các thuộc tính drm được thể hiện bằng nhiều mô-đun/trình điều khiển. Vì bảng này rất khó sử dụng nên đừng thêm bất kỳ cái gì mới tài sản ở đây. Thay vào đó hãy ghi lại chúng trong phần trên.
Owner Module/Drivers |
Group |
Property Name |
Type |
Property Values |
Object attached |
Description/Restrictions |
|---|---|---|---|---|---|---|
DVI-I |
“subconnector” |
ENUM |
{ “Unknown”, “DVI-D”, “DVI-A” } |
Connector |
TBD |
|
“select subconnector” |
ENUM |
{ “Automatic”, “DVI-D”, “DVI-A” } |
Connector |
TBD |
||
TV |
“subconnector” |
ENUM |
{ “Unknown”, “Composite”, “SVIDEO”, “Component”, “SCART” } |
Connector |
TBD |
|
“select subconnector” |
ENUM |
{ “Automatic”, “Composite”, “SVIDEO”, “Component”, “SCART” } |
Connector |
TBD |
||
“mode” |
ENUM |
{ “NTSC_M”, “NTSC_J”, “NTSC_443”, “PAL_B” } etc. |
Connector |
TBD |
||
“left margin” |
RANGE |
Min=0, Max=100 |
Connector |
TBD |
||
“right margin” |
RANGE |
Min=0, Max=100 |
Connector |
TBD |
||
“top margin” |
RANGE |
Min=0, Max=100 |
Connector |
TBD |
||
“bottom margin” |
RANGE |
Min=0, Max=100 |
Connector |
TBD |
||
“brightness” |
RANGE |
Min=0, Max=100 |
Connector |
TBD |
||
“contrast” |
RANGE |
Min=0, Max=100 |
Connector |
TBD |
||
“flicker reduction” |
RANGE |
Min=0, Max=100 |
Connector |
TBD |
||
“overscan” |
RANGE |
Min=0, Max=100 |
Connector |
TBD |
||
“saturation” |
RANGE |
Min=0, Max=100 |
Connector |
TBD |
||
“hue” |
RANGE |
Min=0, Max=100 |
Connector |
TBD |
||
Virtual GPU |
“suggested X” |
RANGE |
Min=0, Max=0xffffffff |
Connector |
property to suggest an X offset for a connector |
|
“suggested Y” |
RANGE |
Min=0, Max=0xffffffff |
Connector |
property to suggest an Y offset for a connector |
||
Optional |
“aspect ratio” |
ENUM |
{ “None”, “4:3”, “16:9” } |
Connector |
TDB |
|
“audio” |
ENUM |
{ “force-dvi”, “off”, “auto”, “on” } |
Connector |
TBD |
||
SDVO-TV |
“mode” |
ENUM |
{ “NTSC_M”, “NTSC_J”, “NTSC_443”, “PAL_B” } etc. |
Connector |
TBD |
|
“left_margin” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“right_margin” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“top_margin” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“bottom_margin” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“hpos” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“vpos” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“contrast” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“saturation” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“hue” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“sharpness” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“flicker_filter” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“flicker_filter_adaptive” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“flicker_filter_2d” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“tv_chroma_filter” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“tv_luma_filter” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“dot_crawl” |
RANGE |
Min=0, Max=1 |
Connector |
TBD |
||
SDVO-TV/LVDS |
“brightness” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
|
CDV gma-500 |
Generic |
“Broadcast RGB” |
ENUM |
{ “Full”, “Limited 16:235” } |
Connector |
TBD |
Poulsbo |
Generic |
“backlight” |
RANGE |
Min=0, Max=100 |
Connector |
TBD |
SDVO-TV |
“mode” |
ENUM |
{ “NTSC_M”, “NTSC_J”, “NTSC_443”, “PAL_B” } etc. |
Connector |
TBD |
|
“left_margin” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“right_margin” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“top_margin” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“bottom_margin” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“hpos” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“vpos” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“contrast” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“saturation” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“hue” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“sharpness” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“flicker_filter” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“flicker_filter_adaptive” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“flicker_filter_2d” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“tv_chroma_filter” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“tv_luma_filter” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
||
“dot_crawl” |
RANGE |
Min=0, Max=1 |
Connector |
TBD |
||
SDVO-TV/LVDS |
“brightness” |
RANGE |
Min=0, Max= SDVO dependent |
Connector |
TBD |
|
armada |
CRTC |
“CSC_YUV” |
ENUM |
{ “Auto” , “CCIR601”, “CCIR709” } |
CRTC |
TBD |
“CSC_RGB” |
ENUM |
{ “Auto”, “Computer system”, “Studio” } |
CRTC |
TBD |
||
Overlay |
“colorkey” |
RANGE |
Min=0, Max=0xffffff |
Plane |
TBD |
|
“colorkey_min” |
RANGE |
Min=0, Max=0xffffff |
Plane |
TBD |
||
“colorkey_max” |
RANGE |
Min=0, Max=0xffffff |
Plane |
TBD |
||
“colorkey_val” |
RANGE |
Min=0, Max=0xffffff |
Plane |
TBD |
||
“colorkey_alpha” |
RANGE |
Min=0, Max=0xffffff |
Plane |
TBD |
||
“colorkey_mode” |
ENUM |
{ “disabled”, “Y component”, “U component” , “V component”, “RGB”, “R component”, “G component”, “B component” } |
Plane |
TBD |
||
“brightness” |
RANGE |
Min=0, Max=256 + 255 |
Plane |
TBD |
||
“contrast” |
RANGE |
Min=0, Max=0x7fff |
Plane |
TBD |
||
“saturation” |
RANGE |
Min=0, Max=0x7fff |
Plane |
TBD |
||
exynos |
CRTC |
“mode” |
ENUM |
{ “normal”, “blank” } |
CRTC |
TBD |
i2c/ch7006_drv |
Generic |
“scale” |
RANGE |
Min=0, Max=2 |
Connector |
TBD |
TV |
“mode” |
ENUM |
{ “PAL”, “PAL-M”,”PAL-N”}, ”PAL-Nc” , “PAL-60”, “NTSC-M”, “NTSC-J” } |
Connector |
TBD |
|
nouveau |
NV10 Overlay |
“colorkey” |
RANGE |
Min=0, Max=0x01ffffff |
Plane |
TBD |
“contrast” |
RANGE |
Min=0, Max=8192-1 |
Plane |
TBD |
||
“brightness” |
RANGE |
Min=0, Max=1024 |
Plane |
TBD |
||
“hue” |
RANGE |
Min=0, Max=359 |
Plane |
TBD |
||
“saturation” |
RANGE |
Min=0, Max=8192-1 |
Plane |
TBD |
||
“iturbt_709” |
RANGE |
Min=0, Max=1 |
Plane |
TBD |
||
Nv04 Overlay |
“colorkey” |
RANGE |
Min=0, Max=0x01ffffff |
Plane |
TBD |
|
“brightness” |
RANGE |
Min=0, Max=1024 |
Plane |
TBD |
||
Display |
“dithering mode” |
ENUM |
{ “auto”, “off”, “on” } |
Connector |
TBD |
|
“dithering depth” |
ENUM |
{ “auto”, “off”, “on”, “static 2x2”, “dynamic 2x2”, “temporal” } |
Connector |
TBD |
||
“underscan” |
ENUM |
{ “auto”, “6 bpc”, “8 bpc” } |
Connector |
TBD |
||
“underscan hborder” |
RANGE |
Min=0, Max=128 |
Connector |
TBD |
||
“underscan vborder” |
RANGE |
Min=0, Max=128 |
Connector |
TBD |
||
“vibrant hue” |
RANGE |
Min=0, Max=180 |
Connector |
TBD |
||
“color vibrance” |
RANGE |
Min=0, Max=200 |
Connector |
TBD |
||
omap |
Generic |
“zorder” |
RANGE |
Min=0, Max=3 |
CRTC, Plane |
TBD |
qxl |
Generic |
“hotplug_mode_update” |
RANGE |
Min=0, Max=1 |
Connector |
TBD |
radeon |
DVI-I |
“coherent” |
RANGE |
Min=0, Max=1 |
Connector |
TBD |
DAC enable load detect |
“load detection” |
RANGE |
Min=0, Max=1 |
Connector |
TBD |
|
TV Standard |
“tv standard” |
ENUM |
{ “ntsc”, “pal”, “pal-m”, “pal-60”, “ntsc-j” , “scart-pal”, “pal-cn”, “secam” } |
Connector |
TBD |
|
legacy TMDS PLL detect |
“tmds_pll” |
ENUM |
{ “driver”, “bios” } |
TBD |
||
Underscan |
“underscan” |
ENUM |
{ “off”, “on”, “auto” } |
Connector |
TBD |
|
“underscan hborder” |
RANGE |
Min=0, Max=128 |
Connector |
TBD |
||
“underscan vborder” |
RANGE |
Min=0, Max=128 |
Connector |
TBD |
||
Audio |
“audio” |
ENUM |
{ “off”, “on”, “auto” } |
Connector |
TBD |
|
FMT Dithering |
“dither” |
ENUM |
{ “off”, “on” } |
Connector |
TBD |
|
“colorkey” |
RANGE |
Min=0, Max=0x01ffffff |
Plane |
TBD |