[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <377f68a1-c642-d5da-51e7-624eac4eb911@linux.intel.com>
Date: Thu, 16 Dec 2021 15:44:34 +0200 (EET)
From: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
To: Ricardo Martinez <ricardo.martinez@...ux.intel.com>
cc: netdev@...r.kernel.org, linux-wireless@...r.kernel.org,
kuba@...nel.org, davem@...emloft.net, johannes@...solutions.net,
ryazanov.s.a@...il.com, loic.poulain@...aro.org,
m.chetan.kumar@...el.com, chandrashekar.devegowda@...el.com,
linuxwwan@...el.com, chiranjeevi.rapolu@...ux.intel.com,
haijun.liu@...iatek.com, amir.hanania@...el.com,
andriy.shevchenko@...ux.intel.com, dinesh.sharma@...el.com,
eliot.lee@...el.com, mika.westerberg@...ux.intel.com,
moises.veleta@...el.com, pierre-louis.bossart@...el.com,
muralidharan.sethuraman@...el.com, Soumya.Prakash.Mishra@...el.com,
sreehari.kancharla@...el.com, suresh.nagaraj@...el.com
Subject: Re: [PATCH net-next v3 04/12] net: wwan: t7xx: Add control port
On Mon, 6 Dec 2021, Ricardo Martinez wrote:
> From: Haijun Liu <haijun.liu@...iatek.com>
>
> Control Port implements driver control messages such as modem-host
> handshaking, controls port enumeration, and handles exception messages.
>
> The handshaking process between the driver and the modem happens during
> the init sequence. The process involves the exchange of a list of
> supported runtime features to make sure that modem and host are ready
> to provide proper feature lists including port enumeration. Further
> features can be enabled and controlled in this handshaking process.
>
> Signed-off-by: Haijun Liu <haijun.liu@...iatek.com>
> Signed-off-by: Chandrashekar Devegowda <chandrashekar.devegowda@...el.com>
> Co-developed-by: Ricardo Martinez <ricardo.martinez@...ux.intel.com>
> Signed-off-by: Ricardo Martinez <ricardo.martinez@...ux.intel.com>
> + ccci_h->packet_header = 0;
> + ccci_h->packet_len = cpu_to_le32(packet_size);
> + ccci_h->status &= cpu_to_le32(~HDR_FLD_CHN);
> + ccci_h->status |= cpu_to_le32(FIELD_PREP(HDR_FLD_CHN, port_static->tx_ch));
> + ccci_h->status &= cpu_to_le32(~HDR_FLD_SEQ);
> + ccci_h->ex_msg = 0;
...
> + ccci_h->packet_header = cpu_to_le32(CCCI_HEADER_NO_DATA);
> + ccci_h->packet_len = cpu_to_le32(sizeof(*ctrl_msg_h) + CCCI_H_LEN);
> + ccci_h->status &= cpu_to_le32(~HDR_FLD_CHN);
> + ccci_h->status |= cpu_to_le32(FIELD_PREP(HDR_FLD_CHN, ch));
> + ccci_h->ex_msg = 0;
...
> + ccci_h->packet_header = cpu_to_le32(CCCI_HEADER_NO_DATA);
> + ccci_h->packet_len = cpu_to_le32(msg);
> + ccci_h->status &= cpu_to_le32(~HDR_FLD_CHN);
> + ccci_h->status |= cpu_to_le32(FIELD_PREP(HDR_FLD_CHN, ch));
> + ccci_h->ex_msg = cpu_to_le32(ex_msg);
A helper to handle the common part of ccci_h init would be useful.
--
i.
Powered by blists - more mailing lists