[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9990db8b-ec05-4557-aa8c-654ed6cf9ab4@linux.dev>
Date: Thu, 21 Mar 2024 12:35:18 -0400
From: Sean Anderson <sean.anderson@...ux.dev>
To: Tomi Valkeinen <tomi.valkeinen@...asonboard.com>
Cc: Michal Simek <michal.simek@....com>, David Airlie <airlied@...il.com>,
linux-kernel@...r.kernel.org, Daniel Vetter <daniel@...ll.ch>,
linux-arm-kernel@...ts.infradead.org,
Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>,
dri-devel@...ts.freedesktop.org
Subject: Re: [PATCH v2 8/8] drm: zynqmp_dp: Add debugfs interface for
compliance testing
On 3/21/24 12:31, Tomi Valkeinen wrote:
> On 21/03/2024 18:08, Sean Anderson wrote:
>> On 3/20/24 03:49, Tomi Valkeinen wrote:
>>> On 20/03/2024 00:51, Sean Anderson wrote:
>>>
>>>> +/**
>>>> + * enum test_pattern - Test patterns for test testing
>>>
>>> "for test testing"? =)
>>>
>>>> @@ -1655,6 +2321,9 @@ static void zynqmp_dp_hpd_irq_work_func(struct work_struct *work)
>>>> u8 status[DP_LINK_STATUS_SIZE + 2];
>>>> int err;
>>>> + if (READ_ONCE(dp->ignore_hpd))
>>>> + return;
>>>> +
>>>> mutex_lock(&dp->lock);
>>>> err = drm_dp_dpcd_read(&dp->aux, DP_SINK_COUNT, status,
>>>> DP_LINK_STATUS_SIZE + 2);
>>>
>>> Why do you need READ/WRITE_ONCE() for ignore_hpd?
>>
>> It's not protected by dp->lock so we don't have to take it for
>> zynqmp_dp_hpd_work_func. Although maybe we should make a version of
>> zynqmp_dp_bridge_detect which assumes we already hold the lock.
>
> Does using the macros solve some potential issue, or is it just for documenting that this variable is accessed without lock?
Without this the compiler is free to issue multiple loads for this
variable, which could be incorrect.
--Sean
Powered by blists - more mailing lists