Re: [PATCH 12/21] drm/tilcdc: Allow build without __iowmb()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 10, 2024 at 06:25:17PM +0300, Ville Syrjälä wrote:
> On Wed, Apr 10, 2024 at 12:06:29PM +0300, Tomi Valkeinen wrote:
> > On 08/04/2024 20:04, Ville Syrjala wrote:
> > > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> > > 
> > > __iowmb() isn't available on most architectures. Make
> > > its use optional so that the driver can be built on
> > > other architectures with COMPILE_TEST=y.
> > > 
> > > Cc: Jyri Sarha <jyri.sarha@xxxxxx>
> > > Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxxxxxxxxxxxx>
> > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> > > ---
> > >   drivers/gpu/drm/tilcdc/tilcdc_regs.h | 2 ++
> > >   1 file changed, 2 insertions(+)
> > > 
> > > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_regs.h b/drivers/gpu/drm/tilcdc/tilcdc_regs.h
> > > index f90e2dc3457c..44e4ada30fba 100644
> > > --- a/drivers/gpu/drm/tilcdc/tilcdc_regs.h
> > > +++ b/drivers/gpu/drm/tilcdc/tilcdc_regs.h
> > > @@ -125,7 +125,9 @@ static inline void tilcdc_write64(struct drm_device *dev, u32 reg, u64 data)
> > >   #if defined(iowrite64) && !defined(iowrite64_is_nonatomic)
> > >   	iowrite64(data, addr);
> > >   #else
> > > +#ifdef __iowmb
> > >   	__iowmb();
> > > +#endif
> > >   	/* This compiles to strd (=64-bit write) on ARM7 */
> > >   	*(volatile u64 __force *)addr = __cpu_to_le64(data);
> > >   #endif
> > 
> > As the memory barrier is an important part there, would it be better to 
> > ifdef based on COMPILE_TEST, to make it clear why it's being done?
> 
> I can do that if you prefer.

What if someone tries to actually boot a kernel built
with COMPILE_TEST=y on a machine with this hardware?

-- 
Ville Syrjälä
Intel



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux