@@ -363,6 +363,7 @@ struct pmc {
363363 * @s0ix_counter: S0ix residency (step adjusted)
364364 * @num_lpm_modes: Count of enabled modes
365365 * @lpm_en_modes: Array of enabled modes from lowest to highest priority
366+ * @suspend: Function to perform platform specific suspend
366367 * @resume: Function to perform platform specific resume
367368 *
368369 * pmc_dev contains info about power management controller device.
@@ -379,6 +380,7 @@ struct pmc_dev {
379380 u64 s0ix_counter ;
380381 int num_lpm_modes ;
381382 int lpm_en_modes [LPM_MAX_NUM_MODES ];
383+ void (* suspend )(struct pmc_dev * pmcdev );
382384 int (* resume )(struct pmc_dev * pmcdev );
383385
384386 bool has_die_c6 ;
@@ -486,7 +488,7 @@ extern const struct pmc_bit_map *mtl_ioem_lpm_maps[];
486488extern const struct pmc_reg_map mtl_ioem_reg_map ;
487489
488490extern void pmc_core_get_tgl_lpm_reqs (struct platform_device * pdev );
489- extern int pmc_core_send_ltr_ignore (struct pmc_dev * pmcdev , u32 value );
491+ int pmc_core_send_ltr_ignore (struct pmc_dev * pmcdev , u32 value , int ignore );
490492
491493int pmc_core_resume_common (struct pmc_dev * pmcdev );
492494int get_primary_reg_base (struct pmc * pmc );
@@ -500,6 +502,9 @@ int tgl_core_init(struct pmc_dev *pmcdev);
500502int adl_core_init (struct pmc_dev * pmcdev );
501503int mtl_core_init (struct pmc_dev * pmcdev );
502504
505+ void cnl_suspend (struct pmc_dev * pmcdev );
506+ int cnl_resume (struct pmc_dev * pmcdev );
507+
503508#define pmc_for_each_mode (i , mode , pmcdev ) \
504509 for (i = 0, mode = pmcdev->lpm_en_modes[i]; \
505510 i < pmcdev->num_lpm_modes; \
0 commit comments