Re: [PATCH/RFC] v4l: vsp1: Change pixel count at scale-up setting

2015-06-18 Thread Laurent Pinchart
Hi Kaneko-san,

Thank you for the patch.

On Monday 15 June 2015 02:29:14 Yoshihiro Kaneko wrote:
 From: Atsushi Akatsuka atsushi.akatsuka...@hitachi.com
 
 This commit sets AMD bit of VI6_UDSn_CTRL register,
 and modifies scaling formula to fit AMD bit.

What's the rationale for that ? What are the side effects of setting the AMD 
bit ? Will it change anything beside the scaling factor computation formula ?

 Signed-off-by: Atsushi Akatsuka atsushi.akatsuka...@hitachi.com
 Signed-off-by: Hiroki Negishi hiroki.negishi...@hitachi-solutions.com
 Signed-off-by: Yoshihiro Kaneko ykaneko0...@gmail.com
 ---
 
 This patch is based on the master branch of linuxtv.org/media_tree.git.
 
  drivers/media/platform/vsp1/vsp1_uds.c | 7 ---
  1 file changed, 4 insertions(+), 3 deletions(-)
 
 diff --git a/drivers/media/platform/vsp1/vsp1_uds.c
 b/drivers/media/platform/vsp1/vsp1_uds.c index ccc8243..e7a046d 100644
 --- a/drivers/media/platform/vsp1/vsp1_uds.c
 +++ b/drivers/media/platform/vsp1/vsp1_uds.c
 @@ -64,10 +64,10 @@ static unsigned int uds_output_size(unsigned int input,
 unsigned int ratio) mp = ratio / 4096;
   mp = mp  4 ? 1 : (mp  8 ? 2 : 4);
 
 - return (input - 1) / mp * mp * 4096 / ratio + 1;
 + return input / mp * mp * 4096 / ratio;

According to the datasheet I have access to the AMD bit only influences the 
scale-up case.

   } else {
   /* Up-scaling */
 - return (input - 1) * 4096 / ratio + 1;
 + return input * 4096 / ratio;
   }
  }
 
 @@ -145,7 +145,8 @@ static int uds_s_stream(struct v4l2_subdev *subdev, int
 enable)
 
   vsp1_uds_write(uds, VI6_UDS_CTRL,
  (uds-scale_alpha ? VI6_UDS_CTRL_AON : 0) |
 -(multitap ? VI6_UDS_CTRL_BC : 0));
 +(multitap ? VI6_UDS_CTRL_BC : 0) |
 +VI6_UDS_CTRL_AMD);
 
   vsp1_uds_write(uds, VI6_UDS_PASS_BWIDTH,
  (uds_passband_width(hscale)

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH/RFC] v4l: vsp1: Change pixel count at scale-up setting

2015-06-14 Thread Yoshihiro Kaneko
From: Atsushi Akatsuka atsushi.akatsuka...@hitachi.com

This commit sets AMD bit of VI6_UDSn_CTRL register,
and modifies scaling formula to fit AMD bit.

Signed-off-by: Atsushi Akatsuka atsushi.akatsuka...@hitachi.com
Signed-off-by: Hiroki Negishi hiroki.negishi...@hitachi-solutions.com
Signed-off-by: Yoshihiro Kaneko ykaneko0...@gmail.com
---

This patch is based on the master branch of linuxtv.org/media_tree.git.

 drivers/media/platform/vsp1/vsp1_uds.c | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/media/platform/vsp1/vsp1_uds.c 
b/drivers/media/platform/vsp1/vsp1_uds.c
index ccc8243..e7a046d 100644
--- a/drivers/media/platform/vsp1/vsp1_uds.c
+++ b/drivers/media/platform/vsp1/vsp1_uds.c
@@ -64,10 +64,10 @@ static unsigned int uds_output_size(unsigned int input, 
unsigned int ratio)
mp = ratio / 4096;
mp = mp  4 ? 1 : (mp  8 ? 2 : 4);
 
-   return (input - 1) / mp * mp * 4096 / ratio + 1;
+   return input / mp * mp * 4096 / ratio;
} else {
/* Up-scaling */
-   return (input - 1) * 4096 / ratio + 1;
+   return input * 4096 / ratio;
}
 }
 
@@ -145,7 +145,8 @@ static int uds_s_stream(struct v4l2_subdev *subdev, int 
enable)
 
vsp1_uds_write(uds, VI6_UDS_CTRL,
   (uds-scale_alpha ? VI6_UDS_CTRL_AON : 0) |
-  (multitap ? VI6_UDS_CTRL_BC : 0));
+  (multitap ? VI6_UDS_CTRL_BC : 0) |
+  VI6_UDS_CTRL_AMD);
 
vsp1_uds_write(uds, VI6_UDS_PASS_BWIDTH,
   (uds_passband_width(hscale)
-- 
1.9.1

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html