From: kernel test robot <lkp@intel.com>
To: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>,
heikki.krogerus@linux.intel.com, tzungbi@kernel.org,
linux-usb@vger.kernel.org, chrome-platform@lists.linux.dev
Cc: oe-kbuild-all@lists.linux.dev, dmitry.baryshkov@linaro.org,
jthies@google.com, akuchynski@google.com, pmalani@chromium.org,
Abhishek Pandit-Subedi <abhishekpandit@chromium.org>,
Benson Leung <bleung@chromium.org>,
Guenter Roeck <groeck@chromium.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 5/7] platform/chrome: cros_ec_typec: Displayport support
Date: Fri, 1 Nov 2024 03:43:36 +0800 [thread overview]
Message-ID: <202411010346.AqbfMqLc-lkp@intel.com> (raw)
In-Reply-To: <20241030142833.v2.5.I142fc0c09df58689b98f0cebf1c5e48b9d4fa800@changeid>
Hi Abhishek,
kernel test robot noticed the following build warnings:
[auto build test WARNING on chrome-platform/for-next]
[also build test WARNING on chrome-platform/for-firmware-next usb/usb-testing usb/usb-next usb/usb-linus westeri-thunderbolt/next linus/master v6.12-rc5 next-20241031]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Abhishek-Pandit-Subedi/usb-typec-Add-driver-for-Thunderbolt-3-Alternate-Mode/20241031-053304
base: https://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux.git for-next
patch link: https://lore.kernel.org/r/20241030142833.v2.5.I142fc0c09df58689b98f0cebf1c5e48b9d4fa800%40changeid
patch subject: [PATCH v2 5/7] platform/chrome: cros_ec_typec: Displayport support
config: arm-multi_v7_defconfig (https://download.01.org/0day-ci/archive/20241101/202411010346.AqbfMqLc-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 13.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241101/202411010346.AqbfMqLc-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202411010346.AqbfMqLc-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/platform/chrome/cros_typec_altmode.c:212:39: warning: 'cros_typec_altmode_ops' defined but not used [-Wunused-const-variable=]
212 | static const struct typec_altmode_ops cros_typec_altmode_ops = {
| ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/platform/chrome/cros_typec_altmode.c:40:13: warning: 'cros_typec_altmode_work' defined but not used [-Wunused-function]
40 | static void cros_typec_altmode_work(struct work_struct *work)
| ^~~~~~~~~~~~~~~~~~~~~~~
vim +/cros_typec_altmode_ops +212 drivers/platform/chrome/cros_typec_altmode.c
39
> 40 static void cros_typec_altmode_work(struct work_struct *work)
41 {
42 struct cros_typec_altmode_data *data =
43 container_of(work, struct cros_typec_altmode_data, work);
44
45 if (typec_altmode_vdm(data->alt, data->header, data->vdo_data,
46 data->vdo_size))
47 dev_err(&data->alt->dev, "VDM 0x%x failed", data->header);
48
49 data->header = 0;
50 data->vdo_data = NULL;
51 data->vdo_size = 0;
52 }
53
54 static int cros_typec_altmode_enter(struct typec_altmode *alt, u32 *vdo)
55 {
56 struct cros_typec_altmode_data *data = typec_altmode_get_drvdata(alt);
57 struct ec_params_typec_control req = {
58 .port = data->port->port_num,
59 .command = TYPEC_CONTROL_COMMAND_ENTER_MODE,
60 };
61 int svdm_version;
62 int ret;
63
64 if (!data->ap_mode_entry) {
65 const struct typec_altmode *partner =
66 typec_altmode_get_partner(alt);
67 dev_warn(&partner->dev,
68 "EC does not support ap driven mode entry\n");
69 return -EOPNOTSUPP;
70 }
71
72 if (data->sid == USB_TYPEC_DP_SID)
73 req.mode_to_enter = CROS_EC_ALTMODE_DP;
74 else
75 return -EOPNOTSUPP;
76
77 ret = cros_ec_cmd(data->port->typec_data->ec, 0, EC_CMD_TYPEC_CONTROL,
78 &req, sizeof(req), NULL, 0);
79 if (ret < 0)
80 return ret;
81
82 svdm_version = typec_altmode_get_svdm_version(alt);
83 if (svdm_version < 0)
84 return svdm_version;
85
86 data->header = VDO(data->sid, 1, svdm_version, CMD_ENTER_MODE);
87 data->header |= VDO_OPOS(data->mode);
88 data->header |= VDO_CMDT(CMDT_RSP_ACK);
89
90 data->vdo_data = NULL;
91 data->vdo_size = 1;
92
93 schedule_work(&data->work);
94
95 return ret;
96 }
97
98 static int cros_typec_altmode_exit(struct typec_altmode *alt)
99 {
100 struct cros_typec_altmode_data *data = typec_altmode_get_drvdata(alt);
101 struct ec_params_typec_control req = {
102 .port = data->port->port_num,
103 .command = TYPEC_CONTROL_COMMAND_EXIT_MODES,
104 };
105 int svdm_version;
106 int ret;
107
108 if (!data->ap_mode_entry) {
109 const struct typec_altmode *partner =
110 typec_altmode_get_partner(alt);
111 dev_warn(&partner->dev,
112 "EC does not support ap driven mode entry\n");
113 return -EOPNOTSUPP;
114 }
115
116 ret = cros_ec_cmd(data->port->typec_data->ec, 0, EC_CMD_TYPEC_CONTROL,
117 &req, sizeof(req), NULL, 0);
118
119 if (ret < 0)
120 return ret;
121
122 svdm_version = typec_altmode_get_svdm_version(alt);
123 if (svdm_version < 0)
124 return svdm_version;
125
126 data->header = VDO(data->sid, 1, svdm_version, CMD_EXIT_MODE);
127 data->header |= VDO_OPOS(data->mode);
128 data->header |= VDO_CMDT(CMDT_RSP_ACK);
129
130 data->vdo_data = NULL;
131 data->vdo_size = 1;
132
133 schedule_work(&data->work);
134
135 return ret;
136 }
137
138 static int cros_typec_displayport_vdm(struct typec_altmode *alt, u32 header,
139 const u32 *data, int count)
140 {
141 struct cros_typec_altmode_data *adata = typec_altmode_get_drvdata(alt);
142
143 int cmd_type = PD_VDO_CMDT(header);
144 int cmd = PD_VDO_CMD(header);
145 int svdm_version;
146
147 if (!adata->ap_mode_entry) {
148 const struct typec_altmode *partner =
149 typec_altmode_get_partner(alt);
150 dev_warn(&partner->dev,
151 "EC does not support ap driven mode entry\n");
152 return -EOPNOTSUPP;
153 }
154
155 svdm_version = typec_altmode_get_svdm_version(alt);
156 if (svdm_version < 0)
157 return svdm_version;
158
159 switch (cmd_type) {
160 case CMDT_INIT:
161 if (PD_VDO_SVDM_VER(header) < svdm_version) {
162 typec_partner_set_svdm_version(adata->port->partner,
163 PD_VDO_SVDM_VER(header));
164 svdm_version = PD_VDO_SVDM_VER(header);
165 }
166
167 adata->header = VDO(adata->sid, 1, svdm_version, cmd);
168 adata->header |= VDO_OPOS(adata->mode);
169
170 /*
171 * DP_CMD_CONFIGURE: We can't actually do anything with the
172 * provided VDO yet so just send back an ACK.
173 *
174 * DP_CMD_STATUS_UPDATE: We wait for Mux changes to send
175 * DPStatus Acks.
176 */
177 switch (cmd) {
178 case DP_CMD_CONFIGURE:
179 adata->am_data.dp.data.conf = *data;
180 adata->header |= VDO_CMDT(CMDT_RSP_ACK);
181 adata->am_data.dp.configured = true;
182 schedule_work(&adata->work);
183 break;
184 case DP_CMD_STATUS_UPDATE:
185 adata->am_data.dp.pending_status_update = true;
186 break;
187 default:
188 adata->header |= VDO_CMDT(CMDT_RSP_ACK);
189 schedule_work(&adata->work);
190 break;
191 }
192
193 break;
194 default:
195 break;
196 }
197
198 return 0;
199 }
200
201 static int cros_typec_altmode_vdm(struct typec_altmode *alt, u32 header,
202 const u32 *data, int count)
203 {
204 struct cros_typec_altmode_data *adata = typec_altmode_get_drvdata(alt);
205
206 if (adata->sid == USB_TYPEC_DP_SID)
207 return cros_typec_displayport_vdm(alt, header, data, count);
208
209 return -EINVAL;
210 }
211
> 212 static const struct typec_altmode_ops cros_typec_altmode_ops = {
213 .enter = cros_typec_altmode_enter,
214 .exit = cros_typec_altmode_exit,
215 .vdm = cros_typec_altmode_vdm,
216 };
217
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2024-10-31 19:43 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-30 21:28 [PATCH v2 0/7] Thunderbolt and DP altmode support for cros-ec-typec Abhishek Pandit-Subedi
2024-10-30 21:28 ` [PATCH v2 1/7] usb: typec: Add driver for Thunderbolt 3 Alternate Mode Abhishek Pandit-Subedi
2024-10-31 5:09 ` kernel test robot
2024-10-31 14:11 ` Heikki Krogerus
2024-10-31 23:02 ` Abhishek Pandit-Subedi
2024-11-01 13:16 ` Heikki Krogerus
2024-11-01 18:48 ` Abhishek Pandit-Subedi
2024-11-04 14:32 ` Heikki Krogerus
2024-11-07 19:21 ` Abhishek Pandit-Subedi
2024-10-30 21:28 ` [PATCH v2 2/7] usb: typec: Only use SVID for matching altmodes Abhishek Pandit-Subedi
2024-10-31 14:13 ` Heikki Krogerus
2024-10-30 21:28 ` [PATCH v2 3/7] usb: typec: Auto enter control for alternate modes Abhishek Pandit-Subedi
2024-10-31 14:33 ` Heikki Krogerus
2024-10-31 22:48 ` Abhishek Pandit-Subedi
2024-11-01 13:59 ` Heikki Krogerus
2024-11-01 16:53 ` Abhishek Pandit-Subedi
2024-11-04 14:14 ` Heikki Krogerus
2024-10-30 21:28 ` [PATCH v2 4/7] platform/chrome: cros_ec_typec: Update partner altmode active Abhishek Pandit-Subedi
2024-10-30 21:28 ` [PATCH v2 5/7] platform/chrome: cros_ec_typec: Displayport support Abhishek Pandit-Subedi
2024-10-31 17:48 ` kernel test robot
2024-10-31 18:54 ` Dmitry Baryshkov
2024-10-31 22:34 ` Abhishek Pandit-Subedi
2024-10-31 19:43 ` kernel test robot [this message]
2024-10-30 21:28 ` [PATCH v2 6/7] platform/chrome: cros_ec_typec: Thunderbolt support Abhishek Pandit-Subedi
2024-10-31 17:07 ` kernel test robot
2024-10-31 18:51 ` Dmitry Baryshkov
2024-10-31 22:23 ` Abhishek Pandit-Subedi
2024-10-30 21:28 ` [PATCH v2 7/7] platform/chrome: cros_ec_typec: Disable tbt auto_enter Abhishek Pandit-Subedi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202411010346.AqbfMqLc-lkp@intel.com \
--to=lkp@intel.com \
--cc=abhishekpandit@chromium.org \
--cc=akuchynski@google.com \
--cc=bleung@chromium.org \
--cc=chrome-platform@lists.linux.dev \
--cc=dmitry.baryshkov@linaro.org \
--cc=groeck@chromium.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=jthies@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=pmalani@chromium.org \
--cc=tzungbi@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.