Skip to content

topology: merge eq_fir and eq_iir IPC constructors into generic "effect" constructor.  #618

Closed

Description

@lgirdwood

These can be merged and reused for voice detection. All the differentiation is done in the private data.
@plbossart fyi, this is what I'm thinking about changing this weekend. Seems we have unnecessary duplication for no benefit (which will lead to more duplication for other new "effects").

/* FIR equalizer component */
struct sof_ipc_comp_eq_fir {
	struct sof_ipc_comp comp;
	struct sof_ipc_comp_config config;
	uint32_t size;

	/* reserved for future use */
	uint32_t reserved[8];

	unsigned char data[0];
} __packed;

/* IIR equalizer component */
struct sof_ipc_comp_eq_iir {
	struct sof_ipc_comp comp;
	struct sof_ipc_comp_config config;
	uint32_t size;

	/* reserved for future use */
	uint32_t reserved[8];

	unsigned char data[0];
} __packed;

Activity

  1. plbossart commented on Feb 1, 2019

    @plbossart
    Member
  2. singalsu commented on Apr 3, 2019

    @singalsu
    Collaborator

    The sof_ipc_comp_process has replaced in firmware the processing algorithm specific IPC structs.

    /* generic "effect", "codec" or proprietary processing component */
    struct sof_ipc_comp_process {
    	struct sof_ipc_comp comp;
    	struct sof_ipc_comp_config config;
    	uint32_t size;	/**< size of bespoke data section in bytes */
    	uint32_t type;	/**< sof_ipc_effect_type */
    
    	/* reserved for future use */
    	uint32_t reserved[7];
    
    	unsigned char data[0];
    } __attribute__((packed));
    
    

    The same change still need to be done on Linux driver side as well. It is in Linux PR #771 by @keyonjie .

  3. singalsu commented on Apr 3, 2019

    @singalsu
    Collaborator

    This can be closed since #771 is merged now.

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

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions