On Wed, Apr 09, 2025 at 02:24:58PM +0200, Karol Kolacinski wrote:
> Collect TSPLL related functions and definitions and move them to
> a separate file to have all TSPLL functionality in one place.
> 
> Move CGU related functions and definitions to ice_common.*
> 
> Reviewed-by: Michal Kubiak <michal.kub...@intel.com>
> Reviewed-by: Milena Olech <milena.ol...@intel.com>
> Signed-off-by: Karol Kolacinski <karol.kolacin...@intel.com>

...

> diff --git a/drivers/net/ethernet/intel/ice/ice_common.c 
> b/drivers/net/ethernet/intel/ice/ice_common.c
> index f7fd0a2451de..190d850f7ff7 100644
> --- a/drivers/net/ethernet/intel/ice/ice_common.c
> +++ b/drivers/net/ethernet/intel/ice/ice_common.c
> @@ -6234,3 +6234,64 @@ u32 ice_get_link_speed(u16 index)
>  
>       return ice_aq_to_link_speed[index];
>  }
> +
> +/**
> + * ice_read_cgu_reg_e82x - Read a CGU register
> + * @hw: pointer to the HW struct
> + * @addr: Register address to read
> + * @val: storage for register value read
> + *
> + * Read the contents of a register of the Clock Generation Unit. Only
> + * applicable to E822 devices.
> + *
> + * Return: 0 on success, other error codes when failed to read from CGU.
> + */
> +int ice_read_cgu_reg_e82x(struct ice_hw *hw, u32 addr, u32 *val)
> +{
> +     struct ice_sbq_msg_input cgu_msg = {
> +             .opcode = ice_sbq_msg_rd,
> +             .dest_dev = cgu,

This seems to be addressed in patch v2: when applied against iwl-next,
but not next, this needs to be ice_sbq_dev_cgu.

drivers/net/ethernet/intel/ice/ice_common.c:6253:15: error: use of undeclared 
identifier 'cgu'
 6253 |                 .dest_dev = cgu,

> +             .msg_addr_low = addr
> +     };
> +     int err;
> +
> +     err = ice_sbq_rw_reg(hw, &cgu_msg, ICE_AQ_FLAG_RD);
> +     if (err) {
> +             dev_dbg(ice_hw_to_dev(hw), "Failed to read CGU register 0x%04x, 
> err %d\n",
> +                     addr, err);
> +             return err;
> +     }
> +
> +     *val = cgu_msg.data;
> +
> +     return 0;
> +}
> +
> +/**
> + * ice_write_cgu_reg_e82x - Write a CGU register
> + * @hw: pointer to the HW struct
> + * @addr: Register address to write
> + * @val: value to write into the register
> + *
> + * Write the specified value to a register of the Clock Generation Unit. Only
> + * applicable to E822 devices.
> + *
> + * Return: 0 on success, other error codes when failed to write to CGU.
> + */
> +int ice_write_cgu_reg_e82x(struct ice_hw *hw, u32 addr, u32 val)
> +{
> +     struct ice_sbq_msg_input cgu_msg = {
> +             .opcode = ice_sbq_msg_wr,
> +             .dest_dev = cgu,

Ditto.

> +             .msg_addr_low = addr,
> +             .data = val
> +     };
> +     int err;
> +
> +     err = ice_sbq_rw_reg(hw, &cgu_msg, ICE_AQ_FLAG_RD);
> +     if (err)
> +             dev_dbg(ice_hw_to_dev(hw), "Failed to write CGU register 
> 0x%04x, err %d\n",
> +                     addr, err);
> +
> +     return err;
> +}

...

Reply via email to