Skip to content

Commit ac232b0

Browse files
committed
drm: apple: afk: Optionally match against EPICName
The dpavserv endpoint uses various EPICProviderClass depending on the connected display. Observed values: - "AppleDCPAgileCDIDPDisplay" (j134c, dcp, panel) - "AppleDCPMCDP29XX" (j274, dcp, hdmi) - "AppleDCPPS190" (j474s, dcpext0, hdmi) - "DCPDPService" (j474s, dcpext1, typec) So match against against EPICName which is consistent in all cases. This also allows the distinction between 'dcpav-service-epic' and 'dcpdp-service-epic'. Not sure what the second EPIC service is used for. Signed-off-by: Janne Grunau <j@jannau.net>
1 parent 45eb5c4 commit ac232b0

2 files changed

Lines changed: 7 additions & 1 deletion

File tree

drivers/gpu/drm/apple/afk.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,11 @@ static void afk_recv_handle_init(struct apple_dcp_afkep *ep, u32 channel,
293293
service_name = name;
294294
}
295295

296-
ops = afk_match_service(ep, service_name);
296+
if (ep->match_epic_name)
297+
ops = afk_match_service(ep, epic_name);
298+
else
299+
ops = afk_match_service(ep, service_name);
300+
297301
if (!ops) {
298302
dev_err(ep->dcp->dev,
299303
"AFK[ep:%02x]: unable to match service %s on channel %d\n",

drivers/gpu/drm/apple/afk.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,8 @@ struct apple_dcp_afkep {
182182
u32 num_channels;
183183

184184
struct dentry *debugfs_entry;
185+
186+
bool match_epic_name;
185187
};
186188

187189
struct apple_dcp_afkep *afk_init(struct apple_dcp *dcp, u32 endpoint,

0 commit comments

Comments
 (0)