Re: [PATCH 3/6] drm: zynqmp_dp: Add locking

From: Sean Anderson
Date: Mon Mar 18 2024 - 11:09:59 EST


On 3/16/24 05:52, kernel test robot wrote:
> Hi Sean,
>
> kernel test robot noticed the following build warnings:
>
> [auto build test WARNING on v6.8]
> [also build test WARNING on linus/master next-20240315]
> [cannot apply to drm-misc/drm-misc-next]
> [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/Sean-Anderson/drm-zynqmp_dp-Downgrade-log-level-for-aux-retries-message/20240316-071208
> base: v6.8
> patch link: https://lore.kernel.org/r/20240315230916.1759060-4-sean.anderson%40linux.dev
> patch subject: [PATCH 3/6] drm: zynqmp_dp: Add locking
> config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20240316/202403161747.TRmfawhM-lkp@xxxxxxxxx/config)
> compiler: alpha-linux-gcc (GCC) 13.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240316/202403161747.TRmfawhM-lkp@xxxxxxxxx/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@xxxxxxxxx>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202403161747.TRmfawhM-lkp@xxxxxxxxx/
>
> All warnings (new ones prefixed by >>):
>
>>> drivers/gpu/drm/xlnx/zynqmp_dp.c:321: warning: Function parameter or struct member 'hpd_irq_work' not described in 'zynqmp_dp'

Will document.

--Sean

>
> vim +321 drivers/gpu/drm/xlnx/zynqmp_dp.c
>
> d76271d22694e8 Hyun Kwon 2018-07-07 275
> d76271d22694e8 Hyun Kwon 2018-07-07 276 /**
> d76271d22694e8 Hyun Kwon 2018-07-07 277 * struct zynqmp_dp - Xilinx DisplayPort core
> d76271d22694e8 Hyun Kwon 2018-07-07 278 * @dev: device structure
> d76271d22694e8 Hyun Kwon 2018-07-07 279 * @dpsub: Display subsystem
> d76271d22694e8 Hyun Kwon 2018-07-07 280 * @iomem: device I/O memory for register access
> d76271d22694e8 Hyun Kwon 2018-07-07 281 * @reset: reset controller
> 8ce380e6568015 Sean Anderson 2024-03-15 282 * @lock: Mutex protecting this struct and register access (but not AUX)
> d76271d22694e8 Hyun Kwon 2018-07-07 283 * @irq: irq
> 47e801bd0749f0 Laurent Pinchart 2021-08-04 284 * @bridge: DRM bridge for the DP encoder
> bd68b9b3cb2e0d Laurent Pinchart 2021-08-04 285 * @next_bridge: The downstream bridge
> d76271d22694e8 Hyun Kwon 2018-07-07 286 * @config: IP core configuration from DTS
> d76271d22694e8 Hyun Kwon 2018-07-07 287 * @aux: aux channel
> d76271d22694e8 Hyun Kwon 2018-07-07 288 * @phy: PHY handles for DP lanes
> d76271d22694e8 Hyun Kwon 2018-07-07 289 * @num_lanes: number of enabled phy lanes
> d76271d22694e8 Hyun Kwon 2018-07-07 290 * @hpd_work: hot plug detection worker
> d76271d22694e8 Hyun Kwon 2018-07-07 291 * @status: connection status
> d76271d22694e8 Hyun Kwon 2018-07-07 292 * @enabled: flag to indicate if the device is enabled
> d76271d22694e8 Hyun Kwon 2018-07-07 293 * @dpcd: DP configuration data from currently connected sink device
> d76271d22694e8 Hyun Kwon 2018-07-07 294 * @link_config: common link configuration between IP core and sink device
> d76271d22694e8 Hyun Kwon 2018-07-07 295 * @mode: current mode between IP core and sink device
> d76271d22694e8 Hyun Kwon 2018-07-07 296 * @train_set: set of training data
> d76271d22694e8 Hyun Kwon 2018-07-07 297 */
> d76271d22694e8 Hyun Kwon 2018-07-07 298 struct zynqmp_dp {
> d76271d22694e8 Hyun Kwon 2018-07-07 299 struct device *dev;
> d76271d22694e8 Hyun Kwon 2018-07-07 300 struct zynqmp_dpsub *dpsub;
> d76271d22694e8 Hyun Kwon 2018-07-07 301 void __iomem *iomem;
> d76271d22694e8 Hyun Kwon 2018-07-07 302 struct reset_control *reset;
> 8ce380e6568015 Sean Anderson 2024-03-15 303 struct mutex lock;
> d76271d22694e8 Hyun Kwon 2018-07-07 304 int irq;
> d76271d22694e8 Hyun Kwon 2018-07-07 305
> 47e801bd0749f0 Laurent Pinchart 2021-08-04 306 struct drm_bridge bridge;
> bd68b9b3cb2e0d Laurent Pinchart 2021-08-04 307 struct drm_bridge *next_bridge;
> 47e801bd0749f0 Laurent Pinchart 2021-08-04 308
> d76271d22694e8 Hyun Kwon 2018-07-07 309 struct zynqmp_dp_config config;
> d76271d22694e8 Hyun Kwon 2018-07-07 310 struct drm_dp_aux aux;
> d76271d22694e8 Hyun Kwon 2018-07-07 311 struct phy *phy[ZYNQMP_DP_MAX_LANES];
> d76271d22694e8 Hyun Kwon 2018-07-07 312 u8 num_lanes;
> 8ce380e6568015 Sean Anderson 2024-03-15 313 struct delayed_work hpd_work, hpd_irq_work;
> d76271d22694e8 Hyun Kwon 2018-07-07 314 enum drm_connector_status status;
> d76271d22694e8 Hyun Kwon 2018-07-07 315 bool enabled;
> d76271d22694e8 Hyun Kwon 2018-07-07 316
> d76271d22694e8 Hyun Kwon 2018-07-07 317 u8 dpcd[DP_RECEIVER_CAP_SIZE];
> d76271d22694e8 Hyun Kwon 2018-07-07 318 struct zynqmp_dp_link_config link_config;
> d76271d22694e8 Hyun Kwon 2018-07-07 319 struct zynqmp_dp_mode mode;
> d76271d22694e8 Hyun Kwon 2018-07-07 320 u8 train_set[ZYNQMP_DP_MAX_LANES];
> d76271d22694e8 Hyun Kwon 2018-07-07 @321 };
> d76271d22694e8 Hyun Kwon 2018-07-07 322
>