Message ID | 20200909133844.6812-1-yuehaibing@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [-next] media: av7110_v4l: Fix build error | expand |
Em Wed, 9 Sep 2020 21:38:44 +0800 YueHaibing <yuehaibing@huawei.com> escreveu: > drivers/media/pci/ttpci/av7110_v4l.c: In function ‘vidioc_s_frequency’: > drivers/media/pci/ttpci/av7110_v4l.c:163:11: error: SSE register return with SSE disabled > if (freq < 16U * 168.25) > ~~~~~^~~~~~~~~~~~~~ > Get rid of float pointing math to fix this. Out of curiosity: what compiler are you using? This sounds to be a compiler issue, as compiler should be optimizing the code by doing the math evaluation at compile time instead of doing it during runtime. > > Fixes: 13c129066845 ("media: av7110_v4l: avoid a typecast") > Signed-off-by: YueHaibing <yuehaibing@huawei.com> > --- > drivers/media/pci/ttpci/av7110_v4l.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/pci/ttpci/av7110_v4l.c b/drivers/media/pci/ttpci/av7110_v4l.c > index 6d9c908be713..ba745b161cba 100644 > --- a/drivers/media/pci/ttpci/av7110_v4l.c > +++ b/drivers/media/pci/ttpci/av7110_v4l.c > @@ -160,9 +160,9 @@ static int ves1820_set_tv_freq(struct saa7146_dev *dev, u32 freq) > buf[1] = div & 0xff; > buf[2] = 0x8e; > > - if (freq < 16U * 168.25) > + if (freq < (16 * 16825) / 100) > config = 0xa0; > - else if (freq < 16U * 447.25) > + else if (freq < (16 * 44725) / 100) > config = 0x90; > else > config = 0x30; Thanks, Mauro
Em Tue, 1 Jun 2021 11:16:17 +0200 Mauro Carvalho Chehab <mchehab@kernel.org> escreveu: > Em Wed, 9 Sep 2020 21:38:44 +0800 > YueHaibing <yuehaibing@huawei.com> escreveu: > > > drivers/media/pci/ttpci/av7110_v4l.c: In function ‘vidioc_s_frequency’: > > drivers/media/pci/ttpci/av7110_v4l.c:163:11: error: SSE register return with SSE disabled > > if (freq < 16U * 168.25) > > ~~~~~^~~~~~~~~~~~~~ > > Get rid of float pointing math to fix this. > > Out of curiosity: what compiler are you using? This sounds to be a compiler > issue, as compiler should be optimizing the code by doing the math evaluation > at compile time instead of doing it during runtime. Nevermind. A similar patch was already applied upstream. Please ignore this e-mail. Thanks, Mauro
diff --git a/drivers/media/pci/ttpci/av7110_v4l.c b/drivers/media/pci/ttpci/av7110_v4l.c index 6d9c908be713..ba745b161cba 100644 --- a/drivers/media/pci/ttpci/av7110_v4l.c +++ b/drivers/media/pci/ttpci/av7110_v4l.c @@ -160,9 +160,9 @@ static int ves1820_set_tv_freq(struct saa7146_dev *dev, u32 freq) buf[1] = div & 0xff; buf[2] = 0x8e; - if (freq < 16U * 168.25) + if (freq < (16 * 16825) / 100) config = 0xa0; - else if (freq < 16U * 447.25) + else if (freq < (16 * 44725) / 100) config = 0x90; else config = 0x30;
drivers/media/pci/ttpci/av7110_v4l.c: In function ‘vidioc_s_frequency’: drivers/media/pci/ttpci/av7110_v4l.c:163:11: error: SSE register return with SSE disabled if (freq < 16U * 168.25) ~~~~~^~~~~~~~~~~~~~ Get rid of float pointing math to fix this. Fixes: 13c129066845 ("media: av7110_v4l: avoid a typecast") Signed-off-by: YueHaibing <yuehaibing@huawei.com> --- drivers/media/pci/ttpci/av7110_v4l.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)