MCPcopy Create free account
hub / github.com/RPCSX/rpcsx / execute

Method execute

kernel/cellos/src/sys_uart.cpp:447–469  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

445 }
446
447 void execute(vuart_av_thread &vuart, const void *pkt_buf) override {
448 const auto pkt = static_cast<const ps3av_pkt_av_audio_mute *>(pkt_buf);
449
450 if (pkt->avport == static_cast<u16>(UartAudioAvport::AVMULTI_1)) {
451 vuart.write_resp(pkt->hdr.cid, PS3AV_STATUS_INVALID_PORT);
452 return;
453 }
454
455 if ((pkt->avport > static_cast<u16>(UartAudioAvport::HDMI_1) &&
456 pkt->avport != static_cast<u16>(UartAudioAvport::AVMULTI_0)) ||
457 (pkt->avport == static_cast<u16>(UartAudioAvport::HDMI_1) &&
458 !g_cfg.core.debug_console_mode)) {
459 vuart.write_resp<true>(pkt->hdr.cid,
460 PS3AV_STATUS_SYSCON_COMMUNICATE_FAIL);
461 return;
462 }
463
464 g_fxo->get<rsx_audio_data>().update_av_mute_state(
465 vuart.avport_to_idx(static_cast<UartAudioAvport>(pkt->avport.get())),
466 true, false, pkt->mute);
467
468 vuart.write_resp<true>(pkt->hdr.cid, PS3AV_STATUS_SUCCESS);
469 }
470};
471
472struct av_acp_ctrl_cmd : public ps3av_cmd {

Callers

nothing calls this directly

Calls 4

write_respMethod · 0.80
update_av_mute_stateMethod · 0.80
avport_to_idxMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected