tgl.c 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. //
  3. // Copyright(c) 2021-2024 Intel Corporation
  4. //
  5. // Authors: Cezary Rojewski <cezary.rojewski@intel.com>
  6. // Amadeusz Slawinski <amadeuszx.slawinski@linux.intel.com>
  7. //
  8. #include "avs.h"
  9. static int avs_tgl_dsp_core_power(struct avs_dev *adev, u32 core_mask, bool power)
  10. {
  11. core_mask &= AVS_MAIN_CORE_MASK;
  12. if (!core_mask)
  13. return 0;
  14. return avs_dsp_core_power(adev, core_mask, power);
  15. }
  16. static int avs_tgl_dsp_core_reset(struct avs_dev *adev, u32 core_mask, bool reset)
  17. {
  18. core_mask &= AVS_MAIN_CORE_MASK;
  19. if (!core_mask)
  20. return 0;
  21. return avs_dsp_core_reset(adev, core_mask, reset);
  22. }
  23. static int avs_tgl_dsp_core_stall(struct avs_dev *adev, u32 core_mask, bool stall)
  24. {
  25. core_mask &= AVS_MAIN_CORE_MASK;
  26. if (!core_mask)
  27. return 0;
  28. return avs_dsp_core_stall(adev, core_mask, stall);
  29. }
  30. const struct avs_dsp_ops avs_tgl_dsp_ops = {
  31. .power = avs_tgl_dsp_core_power,
  32. .reset = avs_tgl_dsp_core_reset,
  33. .stall = avs_tgl_dsp_core_stall,
  34. .dsp_interrupt = avs_cnl_dsp_interrupt,
  35. .int_control = avs_dsp_interrupt_control,
  36. .load_basefw = avs_icl_load_basefw,
  37. .load_lib = avs_hda_load_library,
  38. .transfer_mods = avs_hda_transfer_modules,
  39. .log_buffer_offset = avs_icl_log_buffer_offset,
  40. .log_buffer_status = avs_apl_log_buffer_status,
  41. .coredump = avs_apl_coredump,
  42. .d0ix_toggle = avs_icl_d0ix_toggle,
  43. .set_d0ix = avs_icl_set_d0ix,
  44. AVS_SET_ENABLE_LOGS_OP(icl)
  45. };