NV services: Difference between revisions
| Masagrator (talk | contribs)  Add NVDISP_GET_MODE_DB info | Masagrator (talk | contribs)  Add info about MODE2 | ||
| Line 654: | Line 654: | ||
| | 0xC003021A || Inout || 3 || [[#NVDISP_PANEL_GET_VENDOR_ID]] | | 0xC003021A || Inout || 3 || [[#NVDISP_PANEL_GET_VENDOR_ID]] | ||
| |- | |- | ||
| | 0x803C021B || Out || 60 || NVDISP_GET_MODE2 | | 0x803C021B || Out || 60 || [[#NVDISP_GET_MODE2]] | ||
| |- | |- | ||
| | 0x403C021C || In || 60 || NVDISP_SET_MODE2 | | 0x403C021C || In || 60 || [[#NVDISP_SET_MODE2]] | ||
| |- | |- | ||
| | 0xC03C021D || Inout || 60 || NVDISP_VALIDATE_MODE2 | | 0xC03C021D || Inout || 60 || [[#NVDISP_VALIDATE_MODE2]] | ||
| |- | |- | ||
| | 0xEF20021E || Inout || 12064 ||  | | 0xEF20021E || Inout || 12064 || [[#NVDISP_GET_MODE2_DB]] | ||
| |- | |- | ||
| | 0xC004021F || Inout || 4 || NVDISP_GET_WINMASK | | 0xC004021F || Inout || 4 || NVDISP_GET_WINMASK | ||
| Line 757: | Line 757: | ||
|    struct { |    struct { | ||
|      __out struct mode[201]; |      __out struct mode[201]; | ||
|     __out u32 num_modes; | |||
|   }; | |||
| === NVDISP_GET_MODE2 === | |||
|   struct { | |||
|     __out u32 unk0;              //Always 0 | |||
|     __out u32 hActive; | |||
|     __out u32 vActive; | |||
|     __out u32 hSyncWidth; | |||
|     __out u32 vSyncWidth; | |||
|     __out u32 hFrontPorch; | |||
|     __out u32 vFrontPorch; | |||
|     __out u32 hBackPorch; | |||
|     __out u32 vBackPorch; | |||
|     __out u32 pclkKHz; | |||
|     __out u32 bitsPerPixel;      // Always 0 | |||
|     __out u32 vmode;             // Always 0 | |||
|     __out u32 sync; | |||
|     __out u32 unk1; | |||
|     __out u32 reserved; | |||
|   }; | |||
| === NVDISP_SET_MODE2 === | |||
|   struct { | |||
|     __in u32 unk0; | |||
|     __in u32 hActive; | |||
|     __in u32 vActive; | |||
|     __in u32 hSyncWidth; | |||
|     __in u32 vSyncWidth; | |||
|     __in u32 hFrontPorch; | |||
|     __in u32 vFrontPorch; | |||
|     __in u32 hBackPorch; | |||
|     __in u32 vBackPorch; | |||
|     __in u32 pclkKHz; | |||
|     __in u32 bitsPerPixel; | |||
|     __in u32 vmode; | |||
|     __in u32 sync; | |||
|     __in u32 unk1; | |||
|     __in u32 reserved; | |||
|   }; | |||
| === NVDISP_VALIDATE_MODE2 === | |||
|   struct { | |||
|     __inout u32 unk0; | |||
|     __inout u32 hActive; | |||
|     __inout u32 vActive; | |||
|     __inout u32 hSyncWidth; | |||
|     __inout u32 vSyncWidth; | |||
|     __inout u32 hFrontPorch; | |||
|     __inout u32 vFrontPorch; | |||
|     __inout u32 hBackPorch; | |||
|     __inout u32 vBackPorch; | |||
|     __inout u32 pclkKHz; | |||
|     __inout u32 bitsPerPixel; | |||
|     __inout u32 vmode; | |||
|     __inout u32 sync; | |||
|     __inout u32 unk1; | |||
|     __inout u32 reserved; | |||
|   }; | |||
| === NVDISP_GET_MODE2_DB === | |||
| Almost identical to Linux driver. | |||
|   struct mode2 { | |||
|     u32 unk0; | |||
|     u32 hActive; | |||
|     u32 vActive; | |||
|     u32 hSyncWidth; | |||
|     u32 vSyncWidth; | |||
|     u32 hFrontPorch; | |||
|     u32 vFrontPorch; | |||
|     u32 hBackPorch; | |||
|     u32 vBackPorch; | |||
|     u32 pclkKHz; | |||
|     u32 bitsPerPixel; | |||
|     u32 vmode; | |||
|     u32 sync; | |||
|     u32 unk1; | |||
|     u32 reserved; | |||
|   }; | |||
|   struct { | |||
|     __out struct mode2[201]; | |||
|      __out u32 num_modes; |      __out u32 num_modes; | ||
|    }; |    }; | ||