Enable T6030 external display support - #607
Conversation
Use the 32-bit size fields and return code in the 48-byte response header. Pass the full response buffer length and reject errors and oversized replies. Firmware 14.7 replies also carry the existing eight-byte EDID prefix. Signed-off-by: Ramzi Abdiche <abdicheramzi@gmail.com>
Signed-off-by: Ramzi Abdiche <abdicheramzi@gmail.com>
Descend into tipd when its shared core is selected, including SPMI-only configurations. Signed-off-by: Ramzi Abdiche <abdicheramzi@gmail.com>
Initialize optional fields and discard data left in a mode slot after a failed parse. Signed-off-by: Ramzi Abdiche <abdicheramzi@gmail.com>
Dispatch get_tiling_state and set_tiling_state at callback indices 115 and 116. Signed-off-by: Ramzi Abdiche <abdicheramzi@gmail.com>
A zero completion result means timeout, not success. Return -ETIMEDOUT in that case. Signed-off-by: Ramzi Abdiche <abdicheramzi@gmail.com>
Return management-message send failures and stop AFK initialization when starting its endpoint fails. Signed-off-by: Ramzi Abdiche <abdicheramzi@gmail.com>
Set the receive FIFO enable bit on T6030 ASC mailboxes. Signed-off-by: Ramzi Abdiche <abdicheramzi@gmail.com>
Start the debug endpoint and provide its requested shared buffers. Free them on reset and teardown. Signed-off-by: Ramzi Abdiche <abdicheramzi@gmail.com>
Add separate AUX and HBR3 lane operations for T6030 using the existing hardware dispatch. Derive active lanes from mode and orientation, stopping before orientation changes. Signed-off-by: Ramzi Abdiche <abdicheramzi@gmail.com>
Track HPD changes and notify the referenced DRM connector around Type-C mode updates. Signed-off-by: Ramzi Abdiche <abdicheramzi@gmail.com>
Exclude T8122-compatible PHY endpoints from DCP component matching, as already done for T8103. Signed-off-by: Ramzi Abdiche <abdicheramzi@gmail.com>
Poll between short completion waits to recover messages when interrupt delivery stalls. Signed-off-by: Ramzi Abdiche <abdicheramzi@gmail.com>
Add an opt-in immediate acknowledgement path for syslog and IOReport messages. Reply before dispatching later messages, skipping normal processing of these log entries. Signed-off-by: Ramzi Abdiche <abdicheramzi@gmail.com>
Delay initialization after endpoint startup and poll for its reply. Signed-off-by: Ramzi Abdiche <abdicheramzi@gmail.com>
Return the read error instead of masking it as ENODEV. Signed-off-by: Ramzi Abdiche <abdicheramzi@gmail.com>
Describe display controllers, DARTs, mailboxes and crossbars, including the DMA window and power settings. Signed-off-by: Ramzi Abdiche <abdicheramzi@gmail.com>
Add the panel properties, framebuffer links and display aliases. Signed-off-by: Ramzi Abdiche <abdicheramzi@gmail.com>
Enable dcpext1 and route it through ATC0 to USB-C. Enable synchronous firmware acknowledgements and keep ATC0 powered. Signed-off-by: Ramzi Abdiche <abdicheramzi@gmail.com>
d81f6c0 to
546038d
Compare
| u8 _pad1[24]; | ||
| __le64 used_size; | ||
| u8 _pad2[8]; | ||
| struct dpavserv_copy_edid_msg { |
There was a problem hiding this comment.
Is there a reason to churn the name of the struct?
| u8 _pad3[12]; | ||
| u8 data[]; | ||
| } __packed; | ||
| static_assert(sizeof(struct dpavserv_copy_edid_msg) == 48); |
| static_assert(sizeof(struct dpavserv_copy_edid_msg) == 48); | ||
|
|
||
| #define EDID_LEADING_DATA_SIZE 8 | ||
| #define EDID_LEGACY_LEADING_DATA_SIZE 8 |
There was a problem hiding this comment.
Can we use the firmware versioning preprocessor helpers to make this cleaner inside the functions?
#if DCP_FW_VER >= DCP_FW_VERSION(14, 7, 0)
#define EDID_LEADING_DATA_SIZE 0
#else
#define EDID_LEADING_DATA_SIZE 8
#endif /* DCP_FW_VER */We can then just get rid of the leading_data_size variable and runtime evaluation.
There was a problem hiding this comment.
Firmware 14.7 also uses the eight-byte prefix, so I restored the existing handling and removed selection at runtime
| mbox-names = "mbox"; | ||
| iommus = <&dcp_dart 5 0x100 0x0 0x10 0x0>; | ||
|
|
||
| reg-names = "coproc", "disp-0", "disp-1", "disp-2", "disp-3"; |
There was a problem hiding this comment.
does it work with 4? dcpep_cb_map_reg failed for me until i added a fifth
|
Would it make sense if i took the dcp related dt changes and added them to my pr? |
|
Please provide sign offs under your known identity (I see a real name on your GitHub so I don't think it's meant to be anonymous?) |
546038d to
d8a6a93
Compare
Add T6030 DisplayPort PHY support and device-tree wiring, with DCP and RTKit fixes. USB-C display output and EDID retrieval are tested. HDMI output works with a forced mode; HDMI EDID parsing remains unresolved.