Re: [PATCH 3/3] media: atmel-isi: remove mck back compatiable code as we don't need it

2015-03-08 Thread Josh Wu

Hi, Laurent

On 3/8/2015 8:28 AM, Laurent Pinchart wrote:

On Friday 06 March 2015 21:25:36 Guennadi Liakhovetski wrote:

On Fri, 6 Mar 2015, Josh Wu wrote:

On 3/5/2015 6:41 PM, Laurent Pinchart wrote:

On Thursday 05 March 2015 13:01:01 Josh Wu wrote:

The master clock should handled by sensor itself.

I like that :-)


Signed-off-by: Josh Wu josh...@atmel.com
---

   drivers/media/platform/soc_camera/atmel-isi.c | 32 ---
   1 file changed, 32 deletions(-)

diff --git a/drivers/media/platform/soc_camera/atmel-isi.c
b/drivers/media/platform/soc_camera/atmel-isi.c index 4a384f1..50375ce
100644
--- a/drivers/media/platform/soc_camera/atmel-isi.c
+++ b/drivers/media/platform/soc_camera/atmel-isi.c
@@ -83,8 +83,6 @@ struct atmel_isi {

struct completion   complete;
/* ISI peripherial clock */
struct clk  *pclk;

-   /* ISI_MCK, feed to camera sensor to generate pixel clock */
-   struct clk  *mck;

unsigned intirq;

struct isi_platform_datapdata;

@@ -725,26 +723,12 @@ static void isi_camera_remove_device(struct
soc_camera_device *icd) /* Called with .host_lock held */

   static int isi_camera_clock_start(struct soc_camera_host *ici)
   {

-   struct atmel_isi *isi = ici-priv;
-   int ret;
-
-   if (!IS_ERR(isi-mck)) {
-   ret = clk_prepare_enable(isi-mck);
-   if (ret) {
-   return ret;
-   }
-   }
-

return 0;

Would it make sense to make the clock_start and clock_stop operations
optional in the soc-camera core ?

I agree. For those camera host which don't provide master clock for
sensor, clock_start and clock_stop should be optional.

Hi, Guennadi

Do you agree with this?

Yes, sure, we can do this. Would anyone like to prepare a patch?

Josh, would you like to do that, or should I give it a go ?



Yes, you can do that if you have time. ;-)

Best Regards,
Josh Wu
--
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


Re: [PATCH 3/3] media: atmel-isi: remove mck back compatiable code as we don't need it

2015-03-07 Thread Laurent Pinchart
On Friday 06 March 2015 21:25:36 Guennadi Liakhovetski wrote:
 On Fri, 6 Mar 2015, Josh Wu wrote:
  On 3/5/2015 6:41 PM, Laurent Pinchart wrote:
  On Thursday 05 March 2015 13:01:01 Josh Wu wrote:
  The master clock should handled by sensor itself.
  
  I like that :-)
  
  Signed-off-by: Josh Wu josh...@atmel.com
  ---
  
drivers/media/platform/soc_camera/atmel-isi.c | 32 ---
1 file changed, 32 deletions(-)
  
  diff --git a/drivers/media/platform/soc_camera/atmel-isi.c
  b/drivers/media/platform/soc_camera/atmel-isi.c index 4a384f1..50375ce
  100644
  --- a/drivers/media/platform/soc_camera/atmel-isi.c
  +++ b/drivers/media/platform/soc_camera/atmel-isi.c
  @@ -83,8 +83,6 @@ struct atmel_isi {
  
struct completion   complete;
/* ISI peripherial clock */
struct clk  *pclk;
  
  - /* ISI_MCK, feed to camera sensor to generate pixel clock */
  - struct clk  *mck;
  
unsigned intirq;

struct isi_platform_datapdata;
  
  @@ -725,26 +723,12 @@ static void isi_camera_remove_device(struct
  soc_camera_device *icd) /* Called with .host_lock held */
  
static int isi_camera_clock_start(struct soc_camera_host *ici)
{
  
  - struct atmel_isi *isi = ici-priv;
  - int ret;
  -
  - if (!IS_ERR(isi-mck)) {
  - ret = clk_prepare_enable(isi-mck);
  - if (ret) {
  - return ret;
  - }
  - }
  -
  
return 0;
  
  Would it make sense to make the clock_start and clock_stop operations
  optional in the soc-camera core ?
  
  I agree. For those camera host which don't provide master clock for
  sensor, clock_start and clock_stop should be optional.
  
  Hi, Guennadi
  
  Do you agree with this?
 
 Yes, sure, we can do this. Would anyone like to prepare a patch?

Josh, would you like to do that, or should I give it a go ?

-- 
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


Re: [PATCH 3/3] media: atmel-isi: remove mck back compatiable code as we don't need it

2015-03-06 Thread Josh Wu

On 3/5/2015 6:41 PM, Laurent Pinchart wrote:

Hi Josh,

Thank you for the patch.

On Thursday 05 March 2015 13:01:01 Josh Wu wrote:

The master clock should handled by sensor itself.

I like that :-)


Signed-off-by: Josh Wu josh...@atmel.com
---

  drivers/media/platform/soc_camera/atmel-isi.c | 32 
  1 file changed, 32 deletions(-)

diff --git a/drivers/media/platform/soc_camera/atmel-isi.c
b/drivers/media/platform/soc_camera/atmel-isi.c index 4a384f1..50375ce
100644
--- a/drivers/media/platform/soc_camera/atmel-isi.c
+++ b/drivers/media/platform/soc_camera/atmel-isi.c
@@ -83,8 +83,6 @@ struct atmel_isi {
struct completion   complete;
/* ISI peripherial clock */
struct clk  *pclk;
-   /* ISI_MCK, feed to camera sensor to generate pixel clock */
-   struct clk  *mck;
unsigned intirq;

struct isi_platform_datapdata;
@@ -725,26 +723,12 @@ static void isi_camera_remove_device(struct
soc_camera_device *icd) /* Called with .host_lock held */
  static int isi_camera_clock_start(struct soc_camera_host *ici)
  {
-   struct atmel_isi *isi = ici-priv;
-   int ret;
-
-   if (!IS_ERR(isi-mck)) {
-   ret = clk_prepare_enable(isi-mck);
-   if (ret) {
-   return ret;
-   }
-   }
-
return 0;

Would it make sense to make the clock_start and clock_stop operations optional
in the soc-camera core ?
I agree. For those camera host which don't provide master clock for 
sensor, clock_start and clock_stop should be optional.


Hi, Guennadi

Do you agree with this?

Best Regards,
Josh Wu




  }

  /* Called with .host_lock held */
  static void isi_camera_clock_stop(struct soc_camera_host *ici)
  {
-   struct atmel_isi *isi = ici-priv;
-
-   if (!IS_ERR(isi-mck))
-   clk_disable_unprepare(isi-mck);
  }

  static unsigned int isi_camera_poll(struct file *file, poll_table *pt)
@@ -894,7 +878,6 @@ static int atmel_isi_probe_dt(struct atmel_isi *isi,

/* Default settings for ISI */
isi-pdata.full_mode = 1;
-   isi-pdata.mck_hz = ISI_DEFAULT_MCLK_FREQ;
isi-pdata.frate = ISI_CFG1_FRATE_CAPTURE_ALL;

np = of_graph_get_next_endpoint(np, NULL);
@@ -970,21 +953,6 @@ static int atmel_isi_probe(struct platform_device
*pdev) INIT_LIST_HEAD(isi-video_buffer_list);
INIT_LIST_HEAD(isi-dma_desc_head);

-   /* ISI_MCK is the sensor master clock. It should be handled by the
-* sensor driver directly, as the ISI has no use for that clock. Make
-* the clock optional here while platforms transition to the correct
-* model.
-*/
-   isi-mck = devm_clk_get(dev, isi_mck);
-   if (!IS_ERR(isi-mck)) {
-   /* Set ISI_MCK's frequency, it should be faster than pixel
-* clock.
-*/
-   ret = clk_set_rate(isi-mck, isi-pdata.mck_hz);
-   if (ret  0)
-   return ret;
-   }
-
isi-p_fb_descriptors = dma_alloc_coherent(pdev-dev,
sizeof(struct fbd) * MAX_BUFFER_NUM,
isi-fb_descriptors_phys,


--
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


Re: [PATCH 3/3] media: atmel-isi: remove mck back compatiable code as we don't need it

2015-03-06 Thread Guennadi Liakhovetski
Hi Josh, Laurent,

On Fri, 6 Mar 2015, Josh Wu wrote:

 On 3/5/2015 6:41 PM, Laurent Pinchart wrote:
  Hi Josh,
  
  Thank you for the patch.
  
  On Thursday 05 March 2015 13:01:01 Josh Wu wrote:
   The master clock should handled by sensor itself.
  I like that :-)
  
   Signed-off-by: Josh Wu josh...@atmel.com
   ---
   
 drivers/media/platform/soc_camera/atmel-isi.c | 32
   
 1 file changed, 32 deletions(-)
   
   diff --git a/drivers/media/platform/soc_camera/atmel-isi.c
   b/drivers/media/platform/soc_camera/atmel-isi.c index 4a384f1..50375ce
   100644
   --- a/drivers/media/platform/soc_camera/atmel-isi.c
   +++ b/drivers/media/platform/soc_camera/atmel-isi.c
   @@ -83,8 +83,6 @@ struct atmel_isi {
 struct completion   complete;
 /* ISI peripherial clock */
 struct clk  *pclk;
   - /* ISI_MCK, feed to camera sensor to generate pixel clock */
   - struct clk  *mck;
 unsigned intirq;
   
 struct isi_platform_datapdata;
   @@ -725,26 +723,12 @@ static void isi_camera_remove_device(struct
   soc_camera_device *icd) /* Called with .host_lock held */
 static int isi_camera_clock_start(struct soc_camera_host *ici)
 {
   - struct atmel_isi *isi = ici-priv;
   - int ret;
   -
   - if (!IS_ERR(isi-mck)) {
   - ret = clk_prepare_enable(isi-mck);
   - if (ret) {
   - return ret;
   - }
   - }
   -
 return 0;
  Would it make sense to make the clock_start and clock_stop operations
  optional
  in the soc-camera core ?
 I agree. For those camera host which don't provide master clock for sensor,
 clock_start and clock_stop should be optional.
 
 Hi, Guennadi
 
 Do you agree with this?

Yes, sure, we can do this. Would anyone like to prepare a patch?

Thanks
Guennadi
--
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


Re: [PATCH 3/3] media: atmel-isi: remove mck back compatiable code as we don't need it

2015-03-05 Thread Laurent Pinchart
Hi Josh,

Thank you for the patch.

On Thursday 05 March 2015 13:01:01 Josh Wu wrote:
 The master clock should handled by sensor itself.

I like that :-)

 Signed-off-by: Josh Wu josh...@atmel.com
 ---
 
  drivers/media/platform/soc_camera/atmel-isi.c | 32 
  1 file changed, 32 deletions(-)
 
 diff --git a/drivers/media/platform/soc_camera/atmel-isi.c
 b/drivers/media/platform/soc_camera/atmel-isi.c index 4a384f1..50375ce
 100644
 --- a/drivers/media/platform/soc_camera/atmel-isi.c
 +++ b/drivers/media/platform/soc_camera/atmel-isi.c
 @@ -83,8 +83,6 @@ struct atmel_isi {
   struct completion   complete;
   /* ISI peripherial clock */
   struct clk  *pclk;
 - /* ISI_MCK, feed to camera sensor to generate pixel clock */
 - struct clk  *mck;
   unsigned intirq;
 
   struct isi_platform_datapdata;
 @@ -725,26 +723,12 @@ static void isi_camera_remove_device(struct
 soc_camera_device *icd) /* Called with .host_lock held */
  static int isi_camera_clock_start(struct soc_camera_host *ici)
  {
 - struct atmel_isi *isi = ici-priv;
 - int ret;
 -
 - if (!IS_ERR(isi-mck)) {
 - ret = clk_prepare_enable(isi-mck);
 - if (ret) {
 - return ret;
 - }
 - }
 -
   return 0;

Would it make sense to make the clock_start and clock_stop operations optional 
in the soc-camera core ?

  }
 
  /* Called with .host_lock held */
  static void isi_camera_clock_stop(struct soc_camera_host *ici)
  {
 - struct atmel_isi *isi = ici-priv;
 -
 - if (!IS_ERR(isi-mck))
 - clk_disable_unprepare(isi-mck);
  }
 
  static unsigned int isi_camera_poll(struct file *file, poll_table *pt)
 @@ -894,7 +878,6 @@ static int atmel_isi_probe_dt(struct atmel_isi *isi,
 
   /* Default settings for ISI */
   isi-pdata.full_mode = 1;
 - isi-pdata.mck_hz = ISI_DEFAULT_MCLK_FREQ;
   isi-pdata.frate = ISI_CFG1_FRATE_CAPTURE_ALL;
 
   np = of_graph_get_next_endpoint(np, NULL);
 @@ -970,21 +953,6 @@ static int atmel_isi_probe(struct platform_device
 *pdev) INIT_LIST_HEAD(isi-video_buffer_list);
   INIT_LIST_HEAD(isi-dma_desc_head);
 
 - /* ISI_MCK is the sensor master clock. It should be handled by the
 -  * sensor driver directly, as the ISI has no use for that clock. Make
 -  * the clock optional here while platforms transition to the correct
 -  * model.
 -  */
 - isi-mck = devm_clk_get(dev, isi_mck);
 - if (!IS_ERR(isi-mck)) {
 - /* Set ISI_MCK's frequency, it should be faster than pixel
 -  * clock.
 -  */
 - ret = clk_set_rate(isi-mck, isi-pdata.mck_hz);
 - if (ret  0)
 - return ret;
 - }
 -
   isi-p_fb_descriptors = dma_alloc_coherent(pdev-dev,
   sizeof(struct fbd) * MAX_BUFFER_NUM,
   isi-fb_descriptors_phys,

-- 
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 3/3] media: atmel-isi: remove mck back compatiable code as we don't need it

2015-03-04 Thread Josh Wu
The master clock should handled by sensor itself.

Signed-off-by: Josh Wu josh...@atmel.com
---

 drivers/media/platform/soc_camera/atmel-isi.c | 32 ---
 1 file changed, 32 deletions(-)

diff --git a/drivers/media/platform/soc_camera/atmel-isi.c 
b/drivers/media/platform/soc_camera/atmel-isi.c
index 4a384f1..50375ce 100644
--- a/drivers/media/platform/soc_camera/atmel-isi.c
+++ b/drivers/media/platform/soc_camera/atmel-isi.c
@@ -83,8 +83,6 @@ struct atmel_isi {
struct completion   complete;
/* ISI peripherial clock */
struct clk  *pclk;
-   /* ISI_MCK, feed to camera sensor to generate pixel clock */
-   struct clk  *mck;
unsigned intirq;
 
struct isi_platform_datapdata;
@@ -725,26 +723,12 @@ static void isi_camera_remove_device(struct 
soc_camera_device *icd)
 /* Called with .host_lock held */
 static int isi_camera_clock_start(struct soc_camera_host *ici)
 {
-   struct atmel_isi *isi = ici-priv;
-   int ret;
-
-   if (!IS_ERR(isi-mck)) {
-   ret = clk_prepare_enable(isi-mck);
-   if (ret) {
-   return ret;
-   }
-   }
-
return 0;
 }
 
 /* Called with .host_lock held */
 static void isi_camera_clock_stop(struct soc_camera_host *ici)
 {
-   struct atmel_isi *isi = ici-priv;
-
-   if (!IS_ERR(isi-mck))
-   clk_disable_unprepare(isi-mck);
 }
 
 static unsigned int isi_camera_poll(struct file *file, poll_table *pt)
@@ -894,7 +878,6 @@ static int atmel_isi_probe_dt(struct atmel_isi *isi,
 
/* Default settings for ISI */
isi-pdata.full_mode = 1;
-   isi-pdata.mck_hz = ISI_DEFAULT_MCLK_FREQ;
isi-pdata.frate = ISI_CFG1_FRATE_CAPTURE_ALL;
 
np = of_graph_get_next_endpoint(np, NULL);
@@ -970,21 +953,6 @@ static int atmel_isi_probe(struct platform_device *pdev)
INIT_LIST_HEAD(isi-video_buffer_list);
INIT_LIST_HEAD(isi-dma_desc_head);
 
-   /* ISI_MCK is the sensor master clock. It should be handled by the
-* sensor driver directly, as the ISI has no use for that clock. Make
-* the clock optional here while platforms transition to the correct
-* model.
-*/
-   isi-mck = devm_clk_get(dev, isi_mck);
-   if (!IS_ERR(isi-mck)) {
-   /* Set ISI_MCK's frequency, it should be faster than pixel
-* clock.
-*/
-   ret = clk_set_rate(isi-mck, isi-pdata.mck_hz);
-   if (ret  0)
-   return ret;
-   }
-
isi-p_fb_descriptors = dma_alloc_coherent(pdev-dev,
sizeof(struct fbd) * MAX_BUFFER_NUM,
isi-fb_descriptors_phys,
-- 
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