Revision a0195f314a25582b38993bf30db11c300f4f4611 authored by Fenghua Yu on 17 December 2020, 22:31:19 UTC, committed by Borislav Petkov on 08 January 2021, 08:08:03 UTC
Shakeel Butt reported in [1] that a user can request a task to be moved
to a resource group even if the task is already in the group. It just
wastes time to do the move operation which could be costly to send IPI
to a different CPU.

Add a sanity check to ensure that the move operation only happens when
the task is not already in the resource group.

[1] https://lore.kernel.org/lkml/CALvZod7E9zzHwenzf7objzGKsdBmVwTgEJ0nPgs0LUFU3SN5Pw@mail.gmail.com/

Fixes: e02737d5b826 ("x86/intel_rdt: Add tasks files")
Reported-by: Shakeel Butt <shakeelb@google.com>
Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Tony Luck <tony.luck@intel.com>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/962ede65d8e95be793cb61102cca37f7bb018e66.1608243147.git.reinette.chatre@intel.com
1 parent ae28d1a
Raw File
max98088.h
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * Platform data for MAX98088
 *
 * Copyright 2010 Maxim Integrated Products
 */

#ifndef __SOUND_MAX98088_PDATA_H__
#define __SOUND_MAX98088_PDATA_H__

/* Equalizer filter response configuration */
struct max98088_eq_cfg {
       const char *name;
       unsigned int rate;
       u16 band1[5];
       u16 band2[5];
       u16 band3[5];
       u16 band4[5];
       u16 band5[5];
};

/* codec platform data */
struct max98088_pdata {

       /* Equalizers for DAI1 and DAI2 */
       struct max98088_eq_cfg *eq_cfg;
       unsigned int eq_cfgcnt;

       /* Receiver output can be configured as power amplifier or LINE out */
       /* Set receiver_mode to:
        * 0 = amplifier output, or
        * 1 = LINE level output
        */
       unsigned int receiver_mode:1;

       /* Analog/digital microphone configuration:
        * 0 = analog microphone input (normal setting)
        * 1 = digital microphone input
        */
       unsigned int digmic_left_mode:1;
       unsigned int digmic_right_mode:1;

};

#endif
back to top