Line 666: |
Line 666: |
| | 0x80080221 || Out || 8 || [10.0.0+] [[#NVDISP_GET_BACKLIGHT_RANGE]] | | | 0x80080221 || Out || 8 || [10.0.0+] [[#NVDISP_GET_BACKLIGHT_RANGE]] |
| |- | | |- |
− | | 0x40040222 || In || 4 || [10.0.0+] [[#NVDISP_SET_BACKLIGHT]] | + | | 0x40040222 || In || 4 || [10.0.0+] [[#NVDISP_SET_BACKLIGHT_RANGE_MAX]] |
| |- | | |- |
− | | 0x40040223 || In || 4 || [11.0.0+] | + | | 0x40040223 || In || 4 || [11.0.0+] [[#NVDISP_SET_BACKLIGHT_RANGE_MIN]] |
| |- | | |- |
| | 0x401C0225 || In || 28 || [11.0.0+] [[#NVDISP_SEND_PANEL_MSG]] | | | 0x401C0225 || In || 28 || [11.0.0+] [[#NVDISP_SEND_PANEL_MSG]] |
Line 683: |
Line 683: |
| }; | | }; |
| | | |
− | === NVDISP_SET_BACKLIGHT === | + | === NVDISP_SET_BACKLIGHT_RANGE_MAX === |
− | Sets the value for the intensity of the display's backlight. | + | Sets the maximum value for the intensity of the display's backlight. |
| | | |
| struct { | | struct { |
− | __in u32 val; | + | __in u32 max; |
| + | }; |
| + | |
| + | === NVDISP_SET_BACKLIGHT_RANGE_MIN === |
| + | Sets the minimum value for the intensity of the display's backlight. |
| + | |
| + | struct { |
| + | __in u32 min; |
| }; | | }; |
| | | |
Line 1,604: |
Line 1,611: |
| |- | | |- |
| | /dev/nvhost-display || Display | | | /dev/nvhost-display || Display |
| + | |- |
| + | | /dev/nvhost-tsec || TSEC |
| |} | | |} |
| | | |
Line 1,839: |
Line 1,848: |
| struct { | | struct { |
| __in u32 num_entries; | | __in u32 num_entries; |
− | __in u32 flags; | + | __in u32 flags; // bit0: vpr_enabled |
| }; | | }; |
| | | |
Line 1,879: |
Line 1,888: |
| union { | | union { |
| __out u32 detailed_error; | | __out u32 detailed_error; |
− | __in u32 flags; | + | __in u32 flags; // bit0: fence_wait, bit1: fence_get, bit2: hw_format, bit3: sync_fence, bit4: suppress_wfi, bit5: skip_buffer_refcounting |
| }; | | }; |
| __inout struct fence fence_out; // returned new fence object for others to wait on | | __inout struct fence fence_out; // returned new fence object for others to wait on |
Line 1,963: |
Line 1,972: |
| | | |
| struct { | | struct { |
− | __out u32 error_info[32]; // first word is an error code (0=no_error, 1=gr_error, 2=gr_error, 3=invalid, 4=invalid) | + | __out u32 error_info[32]; // first word is an error code (0=no_error, 1=mmu_error, 2=gr_error, 3=pbdma_error, 4=timeout) |
| }; | | }; |
| | | |
Line 1,987: |
Line 1,996: |
| __in u32 num_entries; | | __in u32 num_entries; |
| __in u32 num_jobs; | | __in u32 num_jobs; |
− | __in u32 flags; | + | __in u32 flags; // bit0: vpr_enabled |
| __out struct fence fence_out; // returned new fence object for others to wait on | | __out struct fence fence_out; // returned new fence object for others to wait on |
| __in u32 reserved[3]; // ignored | | __in u32 reserved[3]; // ignored |
Line 2,250: |
Line 2,259: |
| | | |
| When the gpfifo data in the gpu_va buffers specified by the submitted gpfifo entries is invalid(?), eventually the user-process will be force-terminated after using the submit-gpfifo ioctl. It's unknown how exactly this is done. | | When the gpfifo data in the gpu_va buffers specified by the submitted gpfifo entries is invalid(?), eventually the user-process will be force-terminated after using the submit-gpfifo ioctl. It's unknown how exactly this is done. |
| + | |
| + | GPU rendering (GPFIFO) is only used by applets/Applications. All sysmodules doing any gfx-display uses software rendering. During system-boot, GPU GPFIFO is not used until the applets are launched. |
| | | |
| [[Category:Services]] | | [[Category:Services]] |