Skip to content

Upstream: clarify baytrail IPC #564

Closed

Description

@plbossart

Question from @dbaluta:

static int byt_send_msg(struct snd_sof_dev *sdev, struct snd_sof_ipc_msg *msg)
{
	u64 cmd = msg->header;

	/* send the message */
	sof_mailbox_write(sdev, sdev->host_box.offset, msg->msg_data,
			  msg->msg_size);
	snd_sof_dsp_write64(sdev, BYT_DSP_BAR, SHIM_IPCX,
			    cmd | SHIM_BYT_IPCX_BUSY);

	return 0;
}

why do we mask cmd with shim bitfields?

Activity

  1. xiulipan commented on Jan 22, 2019

    @xiulipan

    @plbossart
    This is not mask. This is some assemble of the register. The highest bit of SHIM_IPCX is busy bit.
    #define SHIM_BYT_IPCX_BUSY BIT_ULL(63)
    And we put the our ipc cmd header into the lower 32 bit as data for this ipc. Will check register cmd matches mailbox cmd later in DSP FW.

  2. dbaluta commented on Jan 29, 2019

    @dbaluta
    Collaborator

    @xiulipan for me it looked like 'cmd' is never used by the FW. Can you point me where there is this check for cmd matching cmd mailbox in DSP FW?

    I couldn't find it so for this reason I've created #586

    Anyhow, due to my amazing skills with github I deleted my local branch so PR got automatically closed. I've reopened it now.

  3. xiulipan commented on Feb 10, 2019

    @xiulipan

    @dbaluta I will continue to check that within #586
    Thanks for pointing out some old remaining unused thing. Yes the CMD in SHIM is not used beside some log message I think.

  4. dbaluta commented on Feb 10, 2019

    @dbaluta
    Collaborator

    @xiulipan thanks for looking into this. The log message in SOF was cleaned up with
    thesofproject/sof@7c37501

  5. plbossart commented on Jun 10, 2019

    @plbossart
    MemberAuthor

    closing, we've removed the use of the cmd argument in the kernel

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

BYTApplies to Baytrail platformdiscussionOpen discussion and clarification

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions