* Re: [PATCH] video: exynos_dp: increase AUX channel voltage level
From: Florian Tobias Schandinat @ 2012-09-23 19:50 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <003e01cd90bb$8332a1b0$8997e510$%han@samsung.com>
On 09/12/2012 07:52 AM, Jingoo Han wrote:
> The value of AUX channel differential amplitude current is changed
> from 8 mA to 16 mA, in order to increase AUX channel voltage level.
> In this case, AUX channel voltage level can be changed from 400 mV
> to 800 mV, when resistance between AUX TX and RX is 100 ohm.
>
> According to DP spec, although the normative voltage level is 390 mV,
> the informative voltage level is 430 mV. So, 800 mV can be helpful
> to improve voltage margin of AUX channel.
>
> Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Applied. But it might be a good idea to keep the old definition in the
header file for documentation purposes.
Thanks,
Florian Tobias Schandinat
> ---
> drivers/video/exynos/exynos_dp_reg.c | 2 +-
> drivers/video/exynos/exynos_dp_reg.h | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/video/exynos/exynos_dp_reg.c b/drivers/video/exynos/exynos_dp_reg.c
> index 20e441f..5fd1214 100644
> --- a/drivers/video/exynos/exynos_dp_reg.c
> +++ b/drivers/video/exynos/exynos_dp_reg.c
> @@ -77,7 +77,7 @@ void exynos_dp_init_analog_param(struct exynos_dp_device *dp)
> writel(reg, dp->reg_base + EXYNOS_DP_ANALOG_CTL_3);
>
> reg = PD_RING_OSC | AUX_TERMINAL_CTRL_50_OHM |
> - TX_CUR1_2X | TX_CUR_8_MA;
> + TX_CUR1_2X | TX_CUR_16_MA;
> writel(reg, dp->reg_base + EXYNOS_DP_PLL_FILTER_CTL_1);
>
> reg = CH3_AMP_400_MV | CH2_AMP_400_MV |
> diff --git a/drivers/video/exynos/exynos_dp_reg.h b/drivers/video/exynos/exynos_dp_reg.h
> index 125b27c..0e79031 100644
> --- a/drivers/video/exynos/exynos_dp_reg.h
> +++ b/drivers/video/exynos/exynos_dp_reg.h
> @@ -187,7 +187,7 @@
> #define PD_RING_OSC (0x1 << 6)
> #define AUX_TERMINAL_CTRL_50_OHM (0x2 << 4)
> #define TX_CUR1_2X (0x1 << 2)
> -#define TX_CUR_8_MA (0x2 << 0)
> +#define TX_CUR_16_MA (0x3 << 0)
>
> /* EXYNOS_DP_TX_AMP_TUNING_CTL */
> #define CH3_AMP_400_MV (0x0 << 24)
^ permalink raw reply
* Re: [PATCH] video: exynos_dp: add bit-masking for LINK_TRAINING_CTL register
From: Florian Tobias Schandinat @ 2012-09-23 19:46 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <002701cd909f$e2b2c960$a8185c20$%han@samsung.com>
On 09/12/2012 04:34 AM, Jingoo Han wrote:
> This patch adds bit-masking for LINK_TRAINING_CTL register, when
> pre-emphasis level is set. The bit 3 and bit 2 of LINK_TRAINING_CTL
> register are used for pre-emphasis level setting, so other bits
> should be masked.
>
> Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Applied.
Thanks,
Florian Tobias Schandinat
> ---
> drivers/video/exynos/exynos_dp_reg.c | 16 ++++++++++++----
> drivers/video/exynos/exynos_dp_reg.h | 1 +
> 2 files changed, 13 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/video/exynos/exynos_dp_reg.c b/drivers/video/exynos/exynos_dp_reg.c
> index 20e441f..365be69 100644
> --- a/drivers/video/exynos/exynos_dp_reg.c
> +++ b/drivers/video/exynos/exynos_dp_reg.c
> @@ -895,7 +895,9 @@ void exynos_dp_set_lane0_pre_emphasis(struct exynos_dp_device *dp, u32 level)
> {
> u32 reg;
>
> - reg = level << PRE_EMPHASIS_SET_SHIFT;
> + reg = readl(dp->reg_base + EXYNOS_DP_LN0_LINK_TRAINING_CTL);
> + reg &= ~PRE_EMPHASIS_SET_MASK;
> + reg |= level << PRE_EMPHASIS_SET_SHIFT;
> writel(reg, dp->reg_base + EXYNOS_DP_LN0_LINK_TRAINING_CTL);
> }
>
> @@ -903,7 +905,9 @@ void exynos_dp_set_lane1_pre_emphasis(struct exynos_dp_device *dp, u32 level)
> {
> u32 reg;
>
> - reg = level << PRE_EMPHASIS_SET_SHIFT;
> + reg = readl(dp->reg_base + EXYNOS_DP_LN1_LINK_TRAINING_CTL);
> + reg &= ~PRE_EMPHASIS_SET_MASK;
> + reg |= level << PRE_EMPHASIS_SET_SHIFT;
> writel(reg, dp->reg_base + EXYNOS_DP_LN1_LINK_TRAINING_CTL);
> }
>
> @@ -911,7 +915,9 @@ void exynos_dp_set_lane2_pre_emphasis(struct exynos_dp_device *dp, u32 level)
> {
> u32 reg;
>
> - reg = level << PRE_EMPHASIS_SET_SHIFT;
> + reg = readl(dp->reg_base + EXYNOS_DP_LN2_LINK_TRAINING_CTL);
> + reg &= ~PRE_EMPHASIS_SET_MASK;
> + reg |= level << PRE_EMPHASIS_SET_SHIFT;
> writel(reg, dp->reg_base + EXYNOS_DP_LN2_LINK_TRAINING_CTL);
> }
>
> @@ -919,7 +925,9 @@ void exynos_dp_set_lane3_pre_emphasis(struct exynos_dp_device *dp, u32 level)
> {
> u32 reg;
>
> - reg = level << PRE_EMPHASIS_SET_SHIFT;
> + reg = readl(dp->reg_base + EXYNOS_DP_LN3_LINK_TRAINING_CTL);
> + reg &= ~PRE_EMPHASIS_SET_MASK;
> + reg |= level << PRE_EMPHASIS_SET_SHIFT;
> writel(reg, dp->reg_base + EXYNOS_DP_LN3_LINK_TRAINING_CTL);
> }
>
> diff --git a/drivers/video/exynos/exynos_dp_reg.h b/drivers/video/exynos/exynos_dp_reg.h
> index 125b27c..9e9af50 100644
> --- a/drivers/video/exynos/exynos_dp_reg.h
> +++ b/drivers/video/exynos/exynos_dp_reg.h
> @@ -285,6 +285,7 @@
> #define SW_TRAINING_PATTERN_SET_NORMAL (0x0 << 0)
>
> /* EXYNOS_DP_LN0_LINK_TRAINING_CTL */
> +#define PRE_EMPHASIS_SET_MASK (0x3 << 3)
> #define PRE_EMPHASIS_SET_SHIFT (3)
>
> /* EXYNOS_DP_DEBUG_CTL */
^ permalink raw reply
* Re: [PATCH 2/2] video: s3c2410: fix checkpatch warnings
From: Florian Tobias Schandinat @ 2012-09-23 19:46 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <002d01cd8f42$c06b6690$414233b0$%han@samsung.com>
On 09/10/2012 10:55 AM, Jingoo Han wrote:
> This patch fixes the checkpatch warnings listed below:
>
> WARNING: usleep_range should not use min = max args; see Documentation/timers/timers-howto.txt
> WARNING: quoted string split across lines
>
> Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Applied.
Thanks,
Florian Tobias Schandinat
> ---
> drivers/video/s3c2410fb.c | 12 ++++++------
> 1 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/video/s3c2410fb.c b/drivers/video/s3c2410fb.c
> index 1aa37ea..1083bb9 100644
> --- a/drivers/video/s3c2410fb.c
> +++ b/drivers/video/s3c2410fb.c
> @@ -935,7 +935,7 @@ static int __devinit s3c24xxfb_probe(struct platform_device *pdev,
> clk_enable(info->clk);
> dprintk("got and enabled clock\n");
>
> - usleep_range(1000, 1000);
> + usleep_range(1000, 1100);
>
> info->clk_rate = clk_get_rate(info->clk);
>
> @@ -1034,7 +1034,7 @@ static int __devexit s3c2410fb_remove(struct platform_device *pdev)
> s3c2410fb_cpufreq_deregister(info);
>
> s3c2410fb_lcd_enable(info, 0);
> - usleep_range(1000, 1000);
> + usleep_range(1000, 1100);
>
> s3c2410fb_unmap_video_memory(fbinfo);
>
> @@ -1071,7 +1071,7 @@ static int s3c2410fb_suspend(struct platform_device *dev, pm_message_t state)
> * the LCD DMA engine is not going to get back on the bus
> * before the clock goes off again (bjd) */
>
> - usleep_range(1000, 1000);
> + usleep_range(1000, 1100);
> clk_disable(info->clk);
>
> return 0;
> @@ -1083,7 +1083,7 @@ static int s3c2410fb_resume(struct platform_device *dev)
> struct s3c2410fb_info *info = fbinfo->par;
>
> clk_enable(info->clk);
> - usleep_range(1000, 1000);
> + usleep_range(1000, 1100);
>
> s3c2410fb_init_registers(fbinfo);
>
> @@ -1140,8 +1140,8 @@ static void __exit s3c2410fb_cleanup(void)
> module_init(s3c2410fb_init);
> module_exit(s3c2410fb_cleanup);
>
> -MODULE_AUTHOR("Arnaud Patard <arnaud.patard@rtp-net.org>, "
> - "Ben Dooks <ben-linux@fluff.org>");
> +MODULE_AUTHOR("Arnaud Patard <arnaud.patard@rtp-net.org>");
> +MODULE_AUTHOR("Ben Dooks <ben-linux@fluff.org>");
> MODULE_DESCRIPTION("Framebuffer driver for the s3c2410");
> MODULE_LICENSE("GPL");
> MODULE_ALIAS("platform:s3c2410-lcd");
^ permalink raw reply
* Re: [PATCH 1/2] video: s3c2410: Use pr_* and dev_* instead of printk
From: Florian Tobias Schandinat @ 2012-09-23 19:45 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <002c01cd8f42$a2104080$e630c180$%han@samsung.com>
On 09/10/2012 10:54 AM, Jingoo Han wrote:
> From: Sachin Kamat <sachin.kamat@linaro.org>
>
> printk calls are replaced by pr_* and dev_* calls to silence
> checkpatch warnings.
>
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Applied.
Thanks,
Florian Tobias Schandinat
> ---
> drivers/video/s3c2410fb.c | 22 ++++++++++++++--------
> 1 files changed, 14 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/video/s3c2410fb.c b/drivers/video/s3c2410fb.c
> index 77f34c6..1aa37ea 100644
> --- a/drivers/video/s3c2410fb.c
> +++ b/drivers/video/s3c2410fb.c
> @@ -11,6 +11,8 @@
> * Driver based on skeletonfb.c, sa1100fb.c and others.
> */
>
> +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> +
> #include <linux/module.h>
> #include <linux/kernel.h>
> #include <linux/err.h>
> @@ -48,7 +50,11 @@ static int debug = 1;
> static int debug;
> #endif
>
> -#define dprintk(msg...) if (debug) printk(KERN_DEBUG "s3c2410fb: " msg);
> +#define dprintk(msg...) \
> +do { \
> + if (debug) \
> + pr_debug(msg); \
> +} while (0)
>
> /* useful functions */
>
> @@ -598,11 +604,11 @@ static int s3c2410fb_debug_store(struct device *dev,
> if (strnicmp(buf, "on", 2) = 0 ||
> strnicmp(buf, "1", 1) = 0) {
> debug = 1;
> - printk(KERN_DEBUG "s3c2410fb: Debug On");
> + dev_dbg(dev, "s3c2410fb: Debug On");
> } else if (strnicmp(buf, "off", 3) = 0 ||
> strnicmp(buf, "0", 1) = 0) {
> debug = 0;
> - printk(KERN_DEBUG "s3c2410fb: Debug Off");
> + dev_dbg(dev, "s3c2410fb: Debug Off");
> } else {
> return -EINVAL;
> }
> @@ -921,7 +927,7 @@ static int __devinit s3c24xxfb_probe(struct platform_device *pdev,
>
> info->clk = clk_get(NULL, "lcd");
> if (IS_ERR(info->clk)) {
> - printk(KERN_ERR "failed to get lcd clock source\n");
> + dev_err(&pdev->dev, "failed to get lcd clock source\n");
> ret = PTR_ERR(info->clk);
> goto release_irq;
> }
> @@ -947,7 +953,7 @@ static int __devinit s3c24xxfb_probe(struct platform_device *pdev,
> /* Initialize video memory */
> ret = s3c2410fb_map_video_memory(fbinfo);
> if (ret) {
> - printk(KERN_ERR "Failed to allocate video RAM: %d\n", ret);
> + dev_err(&pdev->dev, "Failed to allocate video RAM: %d\n", ret);
> ret = -ENOMEM;
> goto release_clock;
> }
> @@ -970,7 +976,7 @@ static int __devinit s3c24xxfb_probe(struct platform_device *pdev,
>
> ret = register_framebuffer(fbinfo);
> if (ret < 0) {
> - printk(KERN_ERR "Failed to register framebuffer device: %d\n",
> + dev_err(&pdev->dev, "Failed to register framebuffer device: %d\n",
> ret);
> goto free_cpufreq;
> }
> @@ -978,9 +984,9 @@ static int __devinit s3c24xxfb_probe(struct platform_device *pdev,
> /* create device files */
> ret = device_create_file(&pdev->dev, &dev_attr_debug);
> if (ret)
> - printk(KERN_ERR "failed to add debug attribute\n");
> + dev_err(&pdev->dev, "failed to add debug attribute\n");
>
> - printk(KERN_INFO "fb%d: %s frame buffer device\n",
> + dev_info(&pdev->dev, "fb%d: %s frame buffer device\n",
> fbinfo->node, fbinfo->fix.id);
>
> return 0;
^ permalink raw reply
* Re: [PATCH] fbdev: jz4740: Use devm_request_and_ioremap
From: Florian Tobias Schandinat @ 2012-09-23 19:44 UTC (permalink / raw)
To: Lars-Peter Clausen; +Cc: Damien Cassou, linux-fbdev, linux-kernel
In-Reply-To: <1347205121-5551-1-git-send-email-lars@metafoo.de>
On 09/09/2012 03:38 PM, Lars-Peter Clausen wrote:
> Use devm_request_and_ioremap instead of request_mem_region + devm_ioremap.
>
> This also fixes the following compile error introduced in commit b2ca7f4d
> ("drivers/video/jz4740_fb.c: use devm_ functions"):
>
> drivers/video/jz4740_fb.c: In function 'jzfb_probe':
> drivers/video/jz4740_fb.c:676:2: error: implicit declaration of function 'devm_ioremap'
> drivers/video/jz4740_fb.c:676:13: warning: assignment makes pointer from integer without a cast
>
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Applied. Thanks for pointing this out and fixing it.
Best regards,
Florian Tobias Schandinat
> ---
> drivers/video/jz4740_fb.c | 24 +++---------------------
> 1 files changed, 3 insertions(+), 21 deletions(-)
>
> diff --git a/drivers/video/jz4740_fb.c b/drivers/video/jz4740_fb.c
> index 7669770..b0df279 100644
> --- a/drivers/video/jz4740_fb.c
> +++ b/drivers/video/jz4740_fb.c
> @@ -632,23 +632,10 @@ static int __devinit jzfb_probe(struct platform_device *pdev)
> return -ENXIO;
> }
>
> - mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> - if (!mem) {
> - dev_err(&pdev->dev, "Failed to get register memory resource\n");
> - return -ENXIO;
> - }
> -
> - mem = request_mem_region(mem->start, resource_size(mem), pdev->name);
> - if (!mem) {
> - dev_err(&pdev->dev, "Failed to request register memory region\n");
> - return -EBUSY;
> - }
> -
> fb = framebuffer_alloc(sizeof(struct jzfb), &pdev->dev);
> if (!fb) {
> dev_err(&pdev->dev, "Failed to allocate framebuffer device\n");
> - ret = -ENOMEM;
> - goto err_release_mem_region;
> + return -ENOMEM;
> }
>
> fb->fbops = &jzfb_ops;
> @@ -657,7 +644,6 @@ static int __devinit jzfb_probe(struct platform_device *pdev)
> jzfb = fb->par;
> jzfb->pdev = pdev;
> jzfb->pdata = pdata;
> - jzfb->mem = mem;
>
> jzfb->ldclk = devm_clk_get(&pdev->dev, "lcd");
> if (IS_ERR(jzfb->ldclk)) {
> @@ -673,9 +659,9 @@ static int __devinit jzfb_probe(struct platform_device *pdev)
> goto err_framebuffer_release;
> }
>
> - jzfb->base = devm_ioremap(&pdev->dev, mem->start, resource_size(mem));
> + mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> + jzfb->base = devm_request_and_ioremap(&pdev->dev, mem);
> if (!jzfb->base) {
> - dev_err(&pdev->dev, "Failed to ioremap register memory region\n");
> ret = -EBUSY;
> goto err_framebuffer_release;
> }
> @@ -736,8 +722,6 @@ err_free_devmem:
> jzfb_free_devmem(jzfb);
> err_framebuffer_release:
> framebuffer_release(fb);
> -err_release_mem_region:
> - release_mem_region(mem->start, resource_size(mem));
> return ret;
> }
>
> @@ -750,8 +734,6 @@ static int __devexit jzfb_remove(struct platform_device *pdev)
> jz_gpio_bulk_free(jz_lcd_ctrl_pins, jzfb_num_ctrl_pins(jzfb));
> jz_gpio_bulk_free(jz_lcd_data_pins, jzfb_num_data_pins(jzfb));
>
> - release_mem_region(jzfb->mem->start, resource_size(jzfb->mem));
> -
> fb_dealloc_cmap(&jzfb->fb->cmap);
> jzfb_free_devmem(jzfb);
>
^ permalink raw reply
* Re: [PATCH 7/10] drivers/video/sis/initextlfb.c: removes unnecessary semicolon
From: Florian Tobias Schandinat @ 2012-09-23 19:43 UTC (permalink / raw)
To: Peter Senna Tschudin
Cc: Thomas Winischhofer, kernel-janitors, linux-fbdev, linux-kernel
In-Reply-To: <1346947757-10481-8-git-send-email-peter.senna@gmail.com>
On 09/06/2012 04:09 PM, Peter Senna Tschudin wrote:
> From: Peter Senna Tschudin <peter.senna@gmail.com>
>
> removes unnecessary semicolon
>
> Found by Coccinelle: http://coccinelle.lip6.fr/
>
> Signed-off-by: Peter Senna Tschudin <peter.senna@gmail.com>
Applied.
Thanks,
Florian Tobias Schandinat
>
> ---
> drivers/video/sis/initextlfb.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff -u -p a/drivers/video/sis/initextlfb.c b/drivers/video/sis/initextlfb.c
> --- a/drivers/video/sis/initextlfb.c
> +++ b/drivers/video/sis/initextlfb.c
> @@ -65,7 +65,7 @@ sisfb_mode_rate_to_dclock(struct SiS_Pri
> }
> #endif
>
> - if(!(SiS_SearchModeID(SiS_Pr, &ModeNo, &ModeIdIndex))) {;
> + if(!(SiS_SearchModeID(SiS_Pr, &ModeNo, &ModeIdIndex))) {
> printk(KERN_ERR "Could not find mode %x\n", ModeNo);
> return 65000;
> }
>
>
^ permalink raw reply
* Re: [PATCH] video: bf*: Add missing spinlock init
From: Florian Tobias Schandinat @ 2012-09-23 19:42 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <20120906092311.22961acd@endymion.delvare>
On 09/06/2012 07:23 AM, Jean Delvare wrote:
> It doesn't seem these spinlocks were properly initialized.
>
> Signed-off-by: Jean Delvare <khali@linux-fr.org>
> Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Applied. Looks correct to me.
Thanks,
Florian Tobias Schandinat
> ---
> I can't even build-test this.
>
> drivers/video/bf54x-lq043fb.c | 1 +
> drivers/video/bfin-lq035q1-fb.c | 1 +
> drivers/video/bfin-t350mcqb-fb.c | 1 +
> 3 files changed, 3 insertions(+)
>
> --- linux-3.6-rc4.orig/drivers/video/bf54x-lq043fb.c 2012-07-21 22:58:29.000000000 +0200
> +++ linux-3.6-rc4/drivers/video/bf54x-lq043fb.c 2012-09-06 08:49:37.812899185 +0200
> @@ -525,6 +525,7 @@ static int __devinit bfin_bf54x_probe(st
> info = fbinfo->par;
> info->fb = fbinfo;
> info->dev = &pdev->dev;
> + spin_lock_init(&info->lock);
>
> platform_set_drvdata(pdev, fbinfo);
>
> --- linux-3.6-rc4.orig/drivers/video/bfin-lq035q1-fb.c 2012-07-21 22:58:29.000000000 +0200
> +++ linux-3.6-rc4/drivers/video/bfin-lq035q1-fb.c 2012-09-06 08:48:50.618858480 +0200
> @@ -577,6 +577,7 @@ static int __devinit bfin_lq035q1_probe(
> info = fbinfo->par;
> info->fb = fbinfo;
> info->dev = &pdev->dev;
> + spin_lock_init(&info->lock);
>
> info->disp_info = pdev->dev.platform_data;
>
> --- linux-3.6-rc4.orig/drivers/video/bfin-t350mcqb-fb.c 2012-07-21 22:58:29.000000000 +0200
> +++ linux-3.6-rc4/drivers/video/bfin-t350mcqb-fb.c 2012-09-06 08:48:12.310825601 +0200
> @@ -447,6 +447,7 @@ static int __devinit bfin_t350mcqb_probe
> info = fbinfo->par;
> info->fb = fbinfo;
> info->dev = &pdev->dev;
> + spin_lock_init(&info->lock);
>
> platform_set_drvdata(pdev, fbinfo);
>
>
>
^ permalink raw reply
* Re: [PATCH] vmlfb: use list_move_tail instead of list_del/list_add_tail
From: Florian Tobias Schandinat @ 2012-09-23 19:41 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <CAPgLHd_SinBfmVH2erdTq5howN3yAsjhoV+MdSShPgT5Nr5mLg@mail.gmail.com>
On 09/05/2012 06:40 AM, Wei Yongjun wrote:
> From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
>
> Using list_move_tail() instead of list_del() + list_add_tail().
>
> spatch with a semantic match is used to found this problem.
> (http://coccinelle.lip6.fr/)
>
> Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Applied.
Thanks,
Florian Tobias Schandinat
> ---
> drivers/video/vermilion/vermilion.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/video/vermilion/vermilion.c b/drivers/video/vermilion/vermilion.c
> index 970e43d..083f0c8 100644
> --- a/drivers/video/vermilion/vermilion.c
> +++ b/drivers/video/vermilion/vermilion.c
> @@ -1168,8 +1168,7 @@ void vmlfb_unregister_subsys(struct vml_sys *sys)
> list_for_each_entry_safe(entry, next, &global_has_mode, head) {
> printk(KERN_DEBUG MODULE_NAME ": subsys disable pipe\n");
> vmlfb_disable_pipe(entry);
> - list_del(&entry->head);
> - list_add_tail(&entry->head, &global_no_mode);
> + list_move_tail(&entry->head, &global_no_mode);
> }
> mutex_unlock(&vml_mutex);
> }
>
>
>
^ permalink raw reply
* Re: [PATCH] viafb: don't touch clock state on OLPC XO-1.5
From: Florian Tobias Schandinat @ 2012-09-23 19:41 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <20120904154533.1DC4AFAA0F@dev.laptop.org>
On 09/04/2012 03:45 PM, Daniel Drake wrote:
> As detailed in the thread titled "viafb PLL/clock tweaking causes XO-1.5
> instability," enabling or disabling the IGA1/IGA2 clocks causes occasional
> stability problems during suspend/resume cycles on this platform.
>
> This is rather odd, as the documentation suggests that clocks have two
> states (on/off) and the default (stable) configuration is configured to
> enable the clock only when it is needed. However, explicitly enabling *or*
> disabling the clock triggers this system instability, suggesting that there
> is a 3rd state at play here.
>
> Leaving the clock enable/disable registers alone solves this problem.
> This fixes spurious reboots during suspend/resume behaviour introduced by
> commit b692a63a.
>
> Signed-off-by: Daniel Drake <dsd@laptop.org>
Applied. Thanks for investigating it. I didn't have the time to look at
it due to writing my thesis. Patch looks okay, at least it is a clean
workaround. I did Cc stable when committing it to fix older releases.
Thanks,
Florian Tobias Schandinat
> ---
> drivers/video/via/via_clock.c | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
>
> diff --git a/drivers/video/via/via_clock.c b/drivers/video/via/via_clock.c
> index af8f26b..db1e392 100644
> --- a/drivers/video/via/via_clock.c
> +++ b/drivers/video/via/via_clock.c
> @@ -25,6 +25,7 @@
>
> #include <linux/kernel.h>
> #include <linux/via-core.h>
> +#include <asm/olpc.h>
> #include "via_clock.h"
> #include "global.h"
> #include "debug.h"
> @@ -289,6 +290,10 @@ static void dummy_set_pll(struct via_pll_config config)
> printk(KERN_INFO "Using undocumented set PLL.\n%s", via_slap);
> }
>
> +static void noop_set_clock_state(u8 state)
> +{
> +}
> +
> void via_clock_init(struct via_clock *clock, int gfx_chip)
> {
> switch (gfx_chip) {
> @@ -346,4 +351,18 @@ void via_clock_init(struct via_clock *clock, int gfx_chip)
> break;
>
> }
> +
> + if (machine_is_olpc()) {
> + /* The OLPC XO-1.5 cannot suspend/resume reliably if the
> + * IGA1/IGA2 clocks are set as on or off (memory rot
> + * occasionally happens during suspend under such
> + * configurations).
> + *
> + * The only known stable scenario is to leave this bits as-is,
> + * which in their default states are documented to enable the
> + * clock only when it is needed.
> + */
> + clock->set_primary_clock_state = noop_set_clock_state;
> + clock->set_secondary_clock_state = noop_set_clock_state;
> + }
> }
^ permalink raw reply
* Re: [PATCH] video: exynos_dp: replace link_status with link_align to check channel equalization
From: Florian Tobias Schandinat @ 2012-09-23 19:37 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <000001cd89b1$2852e3b0$78f8ab10$%han@samsung.com>
On 09/03/2012 08:50 AM, Jingoo Han wrote:
> To check channel equalization, the value of LANE_ALIGN_STATUS_UPDATED is
> necessary in exynos_dp_channel_eq_ok(). Also, link_align includes this value.
> However, link_status does not include this value, so it makes the problem
> that channel equalization is failed during link training.
>
> Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Applied.
Thanks,
Florian Tobias Schandinat
> ---
> drivers/video/exynos/exynos_dp_core.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/video/exynos/exynos_dp_core.c b/drivers/video/exynos/exynos_dp_core.c
> index f57c915..cdc1398 100644
> --- a/drivers/video/exynos/exynos_dp_core.c
> +++ b/drivers/video/exynos/exynos_dp_core.c
> @@ -587,7 +587,7 @@ static int exynos_dp_process_equalizer_training(struct exynos_dp_device *dp)
> dp->link_train.training_lane[lane] = training_lane;
> }
>
> - if (exynos_dp_channel_eq_ok(link_status, lane_count) = 0) {
> + if (exynos_dp_channel_eq_ok(link_align, lane_count) = 0) {
> /* traing pattern Set to Normal */
> exynos_dp_training_pattern_dis(dp);
>
^ permalink raw reply
* Re: [PATCH v2] da8xx-fb: enable LCDC if FB is unblanked
From: Florian Tobias Schandinat @ 2012-09-23 19:37 UTC (permalink / raw)
To: linux-fbdev
On 08/31/2012 02:18 PM, Manjunathappa, Prakash wrote:
> It is expected that LCDC to continue to be disabled after
> resume if it is blanked before suspend. This is also true
> for DVFS. But it is observed that LCDC being enabled after
> suspend/resume cycle or DVFS.
>
> Correcting it by having check for FB_BLANK_UNBLANK before
> enabling.
>
> Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Applied.
Thanks,
Florian Tobias Schandinat
> ---
> Applies on top of fbdev-next of Florian Tobias Schandinat's tree.
> Since v1:
> Re-written commit message.
>
> drivers/video/da8xx-fb.c | 11 +++++++----
> 1 files changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c
> index 761c8d1..1273354 100644
> --- a/drivers/video/da8xx-fb.c
> +++ b/drivers/video/da8xx-fb.c
> @@ -962,7 +962,8 @@ static int lcd_da8xx_cpufreq_transition(struct notifier_block *nb,
> par->lcd_fck_rate = clk_get_rate(par->lcdc_clk);
> lcd_disable_raster();
> lcd_calc_clk_divider(par);
> - lcd_enable_raster();
> + if (par->blank = FB_BLANK_UNBLANK)
> + lcd_enable_raster();
> }
> }
>
> @@ -1486,10 +1487,12 @@ static int fb_resume(struct platform_device *dev)
>
> console_lock();
> clk_enable(par->lcdc_clk);
> - lcd_enable_raster();
> + if (par->blank = FB_BLANK_UNBLANK) {
> + lcd_enable_raster();
>
> - if (par->panel_power_ctrl)
> - par->panel_power_ctrl(1);
> + if (par->panel_power_ctrl)
> + par->panel_power_ctrl(1);
> + }
>
> fb_set_suspend(info, 0);
> console_unlock();
^ permalink raw reply
* Re: [PATCH] video: mbxfb: Include linux/io.h instead of asm/io.h
From: Florian Tobias Schandinat @ 2012-09-23 19:36 UTC (permalink / raw)
To: Axel Lin
Cc: Arnd Bergmann, Mathieu Poirier, Damien Cassou, linux-fbdev,
linux-kernel
In-Reply-To: <1346420343.3107.0.camel@phoenix>
On 08/31/2012 01:39 PM, Axel Lin wrote:
> This fixes below build error:
>
> CC [M] drivers/video/mbx/mbxfb.o
> drivers/video/mbx/mbxfb.c: In function 'mbxfb_probe':
> drivers/video/mbx/mbxfb.c:942:2: error: implicit declaration of function 'devm_ioremap_nocache' [-Werror=implicit-function-declaration]
> drivers/video/mbx/mbxfb.c:942:22: warning: assignment makes pointer from integer without a cast [enabled by default]
> drivers/video/mbx/mbxfb.c:952:21: warning: assignment makes pointer from integer without a cast [enabled by default]
> cc1: some warnings being treated as errors
>
> Signed-off-by: Axel Lin <axel.lin@gmail.com>
Applied. Thanks for pointing this out and fixing it.
Best regards,
Florian Tobias Schandinat
> ---
> drivers/video/mbx/mbxfb.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/video/mbx/mbxfb.c b/drivers/video/mbx/mbxfb.c
> index 9229acf..6563e50 100644
> --- a/drivers/video/mbx/mbxfb.c
> +++ b/drivers/video/mbx/mbxfb.c
> @@ -26,8 +26,7 @@
> #include <linux/module.h>
> #include <linux/platform_device.h>
> #include <linux/uaccess.h>
> -
> -#include <asm/io.h>
> +#include <linux/io.h>
>
> #include <video/mbxfb.h>
>
^ permalink raw reply
* Re: [PATCH v5] da8xx-fb: allow frame to complete after disabling LCDC
From: Florian Tobias Schandinat @ 2012-09-23 19:28 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <1345813980-14758-1-git-send-email-prakash.pm@ti.com>
On 08/24/2012 01:13 PM, Manjunathappa, Prakash wrote:
> Wait for active frame transfer to complete after disabling LCDC.
> At the same this wait is not be required when there are sync and
> underflow errors.
> Patch applies for revision 2 of LCDC present am335x.
> More information on disable and reset sequence can be found in
> section 13.4.6 of AM335x TRM @www.ti.com/am335x.
>
> Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Applied.
Thanks,
Florian Tobias Schandinat
> ---
> Applies on top of fbdev-next of Florian Tobias Schandinat's tree.
> Since v4:
> Minor nit, removed extra line.
> Since v3:
> Rely on frame done interrupt instead of polling for it.
> Since v2:
> Optimized the lcd_disable_raster function.
> Since v1:
> Changed the commit message, also added link to hardware specification.
> drivers/video/da8xx-fb.c | 52 +++++++++++++++++++++++++++++++++++----------
> 1 files changed, 40 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c
> index 7ae9d53..32f0d06 100644
> --- a/drivers/video/da8xx-fb.c
> +++ b/drivers/video/da8xx-fb.c
> @@ -27,6 +27,7 @@
> #include <linux/platform_device.h>
> #include <linux/uaccess.h>
> #include <linux/interrupt.h>
> +#include <linux/wait.h>
> #include <linux/clk.h>
> #include <linux/cpufreq.h>
> #include <linux/console.h>
> @@ -48,6 +49,7 @@
> #define LCD_PL_LOAD_DONE BIT(6)
> #define LCD_FIFO_UNDERFLOW BIT(5)
> #define LCD_SYNC_LOST BIT(2)
> +#define LCD_FRAME_DONE BIT(0)
>
> /* LCD DMA Control Register */
> #define LCD_DMA_BURST_SIZE(x) ((x) << 4)
> @@ -135,6 +137,8 @@ static resource_size_t da8xx_fb_reg_base;
> static struct resource *lcdc_regs;
> static unsigned int lcd_revision;
> static irq_handler_t lcdc_irq_handler;
> +static wait_queue_head_t frame_done_wq;
> +static int frame_done_flag;
>
> static inline unsigned int lcdc_read(unsigned int addr)
> {
> @@ -288,13 +292,26 @@ static inline void lcd_enable_raster(void)
> }
>
> /* Disable the Raster Engine of the LCD Controller */
> -static inline void lcd_disable_raster(void)
> +static inline void lcd_disable_raster(bool wait_for_frame_done)
> {
> u32 reg;
> + int ret;
>
> reg = lcdc_read(LCD_RASTER_CTRL_REG);
> if (reg & LCD_RASTER_ENABLE)
> lcdc_write(reg & ~LCD_RASTER_ENABLE, LCD_RASTER_CTRL_REG);
> + else
> + /* return if already disabled */
> + return;
> +
> + if ((wait_for_frame_done = true) && (lcd_revision = LCD_VERSION_2)) {
> + frame_done_flag = 0;
> + ret = wait_event_interruptible_timeout(frame_done_wq,
> + frame_done_flag != 0,
> + msecs_to_jiffies(50));
> + if (ret = 0)
> + pr_err("LCD Controller timed out\n");
> + }
> }
>
> static void lcd_blit(int load_mode, struct da8xx_fb_par *par)
> @@ -321,7 +338,8 @@ static void lcd_blit(int load_mode, struct da8xx_fb_par *par)
> } else {
> reg_int = lcdc_read(LCD_INT_ENABLE_SET_REG) |
> LCD_V2_END_OF_FRAME0_INT_ENA |
> - LCD_V2_END_OF_FRAME1_INT_ENA;
> + LCD_V2_END_OF_FRAME1_INT_ENA |
> + LCD_FRAME_DONE;
> lcdc_write(reg_int, LCD_INT_ENABLE_SET_REG);
> }
> reg_dma |= LCD_DUAL_FRAME_BUFFER_ENABLE;
> @@ -638,7 +656,7 @@ static int fb_setcolreg(unsigned regno, unsigned red, unsigned green,
> static void lcd_reset(struct da8xx_fb_par *par)
> {
> /* Disable the Raster if previously Enabled */
> - lcd_disable_raster();
> + lcd_disable_raster(false);
>
> /* DMA has to be disabled */
> lcdc_write(0, LCD_DMA_CTRL_REG);
> @@ -734,7 +752,7 @@ static irqreturn_t lcdc_irq_handler_rev02(int irq, void *arg)
> u32 stat = lcdc_read(LCD_MASKED_STAT_REG);
>
> if ((stat & LCD_SYNC_LOST) && (stat & LCD_FIFO_UNDERFLOW)) {
> - lcd_disable_raster();
> + lcd_disable_raster(false);
> lcdc_write(stat, LCD_MASKED_STAT_REG);
> lcd_enable_raster();
> } else if (stat & LCD_PL_LOAD_DONE) {
> @@ -744,7 +762,7 @@ static irqreturn_t lcdc_irq_handler_rev02(int irq, void *arg)
> * interrupt via the following write to the status register. If
> * this is done after then one gets multiple PL done interrupts.
> */
> - lcd_disable_raster();
> + lcd_disable_raster(false);
>
> lcdc_write(stat, LCD_MASKED_STAT_REG);
>
> @@ -775,6 +793,14 @@ static irqreturn_t lcdc_irq_handler_rev02(int irq, void *arg)
> par->vsync_flag = 1;
> wake_up_interruptible(&par->vsync_wait);
> }
> +
> + /* Set only when controller is disabled and at the end of
> + * active frame
> + */
> + if (stat & BIT(0)) {
> + frame_done_flag = 1;
> + wake_up_interruptible(&frame_done_wq);
> + }
> }
>
> lcdc_write(0, LCD_END_OF_INT_IND_REG);
> @@ -789,7 +815,7 @@ static irqreturn_t lcdc_irq_handler_rev01(int irq, void *arg)
> u32 reg_ras;
>
> if ((stat & LCD_SYNC_LOST) && (stat & LCD_FIFO_UNDERFLOW)) {
> - lcd_disable_raster();
> + lcd_disable_raster(false);
> lcdc_write(stat, LCD_STAT_REG);
> lcd_enable_raster();
> } else if (stat & LCD_PL_LOAD_DONE) {
> @@ -799,7 +825,7 @@ static irqreturn_t lcdc_irq_handler_rev01(int irq, void *arg)
> * interrupt via the following write to the status register. If
> * this is done after then one gets multiple PL done interrupts.
> */
> - lcd_disable_raster();
> + lcd_disable_raster(false);
>
> lcdc_write(stat, LCD_STAT_REG);
>
> @@ -898,7 +924,7 @@ static int lcd_da8xx_cpufreq_transition(struct notifier_block *nb,
> if (val = CPUFREQ_POSTCHANGE) {
> if (par->lcd_fck_rate != clk_get_rate(par->lcdc_clk)) {
> par->lcd_fck_rate = clk_get_rate(par->lcdc_clk);
> - lcd_disable_raster();
> + lcd_disable_raster(true);
> lcd_calc_clk_divider(par);
> lcd_enable_raster();
> }
> @@ -935,7 +961,7 @@ static int __devexit fb_remove(struct platform_device *dev)
> if (par->panel_power_ctrl)
> par->panel_power_ctrl(0);
>
> - lcd_disable_raster();
> + lcd_disable_raster(true);
> lcdc_write(0, LCD_RASTER_CTRL_REG);
>
> /* disable DMA */
> @@ -1051,7 +1077,7 @@ static int cfb_blank(int blank, struct fb_info *info)
> if (par->panel_power_ctrl)
> par->panel_power_ctrl(0);
>
> - lcd_disable_raster();
> + lcd_disable_raster(true);
> break;
> default:
> ret = -EINVAL;
> @@ -1356,8 +1382,10 @@ static int __devinit fb_probe(struct platform_device *device)
>
> if (lcd_revision = LCD_VERSION_1)
> lcdc_irq_handler = lcdc_irq_handler_rev01;
> - else
> + else {
> + init_waitqueue_head(&frame_done_wq);
> lcdc_irq_handler = lcdc_irq_handler_rev02;
> + }
>
> ret = request_irq(par->irq, lcdc_irq_handler, 0,
> DRIVER_NAME, par);
> @@ -1411,7 +1439,7 @@ static int fb_suspend(struct platform_device *dev, pm_message_t state)
> par->panel_power_ctrl(0);
>
> fb_set_suspend(info, 1);
> - lcd_disable_raster();
> + lcd_disable_raster(true);
> clk_disable(par->lcdc_clk);
> console_unlock();
>
^ permalink raw reply
* Re: [PATCH] video: bfin-lq035q1: use module_platform_driver
From: Florian Tobias Schandinat @ 2012-09-23 19:27 UTC (permalink / raw)
To: linux-fbdev
On 08/23/2012 09:55 PM, Devendra Naga wrote:
> the driver's module init and exit functions are calling
> platform_driver_register and platform_driver_unregister and doing nothing
> else.
>
> This same as that of the module_platform_driver,
> remove this init and exit functions and use the module_platform_driver instead
>
> Signed-off-by: Devendra Naga <develkernel412222@gmail.com>
Applied.
Thanks,
Florian Tobias Schandinat
> ---
> drivers/video/bfin-lq035q1-fb.c | 12 +-----------
> 1 file changed, 1 insertion(+), 11 deletions(-)
>
> diff --git a/drivers/video/bfin-lq035q1-fb.c b/drivers/video/bfin-lq035q1-fb.c
> index 353c02f..1b21519 100644
> --- a/drivers/video/bfin-lq035q1-fb.c
> +++ b/drivers/video/bfin-lq035q1-fb.c
> @@ -853,17 +853,7 @@ static struct platform_driver bfin_lq035q1_driver = {
> },
> };
>
> -static int __init bfin_lq035q1_driver_init(void)
> -{
> - return platform_driver_register(&bfin_lq035q1_driver);
> -}
> -module_init(bfin_lq035q1_driver_init);
> -
> -static void __exit bfin_lq035q1_driver_cleanup(void)
> -{
> - platform_driver_unregister(&bfin_lq035q1_driver);
> -}
> -module_exit(bfin_lq035q1_driver_cleanup);
> +module_platform_driver(bfin_lq035q1_driver);
>
> MODULE_DESCRIPTION("Blackfin TFT LCD Driver");
> MODULE_LICENSE("GPL");
^ permalink raw reply
* Re: [PATCH V2 0/5] arm: samsung: Move FIMD headers to include/video/
From: Florian Tobias Schandinat @ 2012-09-23 19:26 UTC (permalink / raw)
To: Kukjin Kim
Cc: 'Leela Krishna Amudala', linux-arm-kernel,
linux-samsung-soc, dri-devel, linux-fbdev
In-Reply-To: <1d5a01cd8115$7251eb40$56f5c1c0$%kim@samsung.com>
On 08/23/2012 09:55 AM, Kukjin Kim wrote:
> Florian Tobias Schandinat wrote:
>>
>> On 08/01/2012 02:28 AM, Kukjin Kim wrote:
>>> Leela Krishna Amudala wrote:
>>>>
>>>> This patchset moves the contents of regs-fb-v4.h and regs-fb.h from
>> arch
>>>> side
>>>> to include/video/samsung_fimd.h
>>>>
>>>> This patchset is created and rebased against master branch of torvalds
>>>> tree.
>>>> Tested on smdk5250 board, build tested for other boards.
>>>>
>>> (Cc'ed Florian Tobias Schandinat)
>>>
>>> Yeah, since it's merge window, this series could be created against on
>>> mainline. And IMO, would be helpful to us if this series could be sent
>> to
>>> upstream via samsung tree after reviewing, because this touches too many
>>> files in samsung tree and just adds include/video/samsung_fimd.h. But
>> I'm
>>> not sure the added inclusion will be used in other file of
> drivers/video.
>> If
>>> so, I can provide some topic branch can be merged into Florian's tree.
>>> Florian, how about?
>>
>> Using a topic branch to merge it in both trees sounds like a good plan
>> to me.
>>
> Florian,
>
> Please pull following topic branch we talked. I already merged it into my
> -next.
>
> git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
> v3.7-for-florian
>
> Note, I applied Leela's V4 patches not this V2 series.
Merged, just as I wrote in another thread. Took a bit longer as I was
writing my thesis...
Best regards,
Florian Tobias Schandinat
>
> If any problems, please kindly let me know.
>
> Thanks.
>
> Best regards,
> Kgene.
> --
> Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
> SW Solution Development Team, Samsung Electronics Co., Ltd.
>
> The following changes since commit 0d7614f09c1ebdbaa1599a5aba7593f147bf96ee:
>
> Linux 3.6-rc1 (2012-08-02 16:38:10 -0700)
>
> are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
> v3.7-for-florian
>
> Leela Krishna Amudala (2):
> include/video: move fimd register headers from platform to
> include/video
> include/video: Add register offsets for FIMD version 8
>
> arch/arm/mach-exynos/mach-nuri.c | 2 +-
> arch/arm/mach-exynos/mach-origen.c | 2 +-
> arch/arm/mach-exynos/mach-smdk4x12.c | 2 +-
> arch/arm/mach-exynos/mach-smdkv310.c | 2 +-
> arch/arm/mach-exynos/mach-universal_c210.c | 2 +-
> arch/arm/mach-exynos/setup-fimd0.c | 2 +-
> arch/arm/mach-s3c24xx/mach-smdk2416.c | 2 +-
> arch/arm/mach-s3c64xx/mach-anw6410.c | 2 +-
> arch/arm/mach-s3c64xx/mach-crag6410.c | 2 +-
> arch/arm/mach-s3c64xx/mach-hmt.c | 2 +-
> arch/arm/mach-s3c64xx/mach-mini6410.c | 2 +-
> arch/arm/mach-s3c64xx/mach-ncp.c | 2 +-
> arch/arm/mach-s3c64xx/mach-real6410.c | 2 +-
> arch/arm/mach-s3c64xx/mach-smartq5.c | 2 +-
> arch/arm/mach-s3c64xx/mach-smartq7.c | 2 +-
> arch/arm/mach-s3c64xx/mach-smdk6410.c | 2 +-
> arch/arm/mach-s5p64x0/mach-smdk6440.c | 2 +-
> arch/arm/mach-s5p64x0/mach-smdk6450.c | 2 +-
> arch/arm/mach-s5pc100/mach-smdkc100.c | 2 +-
> arch/arm/mach-s5pv210/mach-aquila.c | 2 +-
> arch/arm/mach-s5pv210/mach-goni.c | 2 +-
> arch/arm/mach-s5pv210/mach-smdkv210.c | 2 +-
> arch/arm/plat-samsung/include/plat/regs-fb-v4.h | 159
> --------------------
> drivers/gpu/drm/exynos/exynos_drm_fimd.c | 2 +-
> drivers/video/s3c-fb.c | 2 +-
> .../plat/regs-fb.h => include/video/samsung_fimd.h | 152
> +++++++++++++++++--
> 26 files changed, 165 insertions(+), 194 deletions(-)
> delete mode 100644 arch/arm/plat-samsung/include/plat/regs-fb-v4.h
> rename arch/arm/plat-samsung/include/plat/regs-fb.h =>
> include/video/samsung_fimd.h (73%)
>
>
^ permalink raw reply
* Re: [PATCH] video: hpfb: Fix error handling
From: Florian Tobias Schandinat @ 2012-09-23 19:23 UTC (permalink / raw)
To: Emil Goode; +Cc: linux-fbdev, linux-kernel, kernel-janitors
In-Reply-To: <1345487545-9590-1-git-send-email-emilgoode@gmail.com>
On 08/20/2012 06:32 PM, Emil Goode wrote:
> This patch solves problems with the error handling by
> introducing labels for proper error paths and it also
> frees resources that where missed.
>
> Signed-off-by: Emil Goode <emilgoode@gmail.com>
Applied.
Thanks,
Florian Tobias Schandinat
> ---
> drivers/video/hpfb.c | 28 +++++++++++++++++++++-------
> 1 file changed, 21 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/video/hpfb.c b/drivers/video/hpfb.c
> index ebf8495..7324865 100644
> --- a/drivers/video/hpfb.c
> +++ b/drivers/video/hpfb.c
> @@ -210,6 +210,7 @@ static int __devinit hpfb_init_one(unsigned long phys_base,
> unsigned long virt_base)
> {
> unsigned long fboff, fb_width, fb_height, fb_start;
> + int ret;
>
> fb_regs = virt_base;
> fboff = (in_8(fb_regs + HPFB_FBOMSB) << 8) | in_8(fb_regs + HPFB_FBOLSB);
> @@ -290,19 +291,29 @@ static int __devinit hpfb_init_one(unsigned long phys_base,
> fb_info.var = hpfb_defined;
> fb_info.screen_base = (char *)fb_start;
>
> - fb_alloc_cmap(&fb_info.cmap, 1 << hpfb_defined.bits_per_pixel, 0);
> + ret = fb_alloc_cmap(&fb_info.cmap, 1 << hpfb_defined.bits_per_pixel, 0);
> + if (ret < 0)
> + goto unmap_screen_base;
>
> - if (register_framebuffer(&fb_info) < 0) {
> - fb_dealloc_cmap(&fb_info.cmap);
> - iounmap(fb_info.screen_base);
> - fb_info.screen_base = NULL;
> - return 1;
> - }
> + ret = register_framebuffer(&fb_info);
> + if (ret < 0)
> + goto dealloc_cmap;
>
> printk(KERN_INFO "fb%d: %s frame buffer device\n",
> fb_info.node, fb_info.fix.id);
>
> return 0;
> +
> +dealloc_cmap:
> + fb_dealloc_cmap(&fb_info.cmap);
> +
> +unmap_screen_base:
> + if (fb_info.screen_base) {
> + iounmap(fb_info.screen_base);
> + fb_info.screen_base = NULL;
> + }
> +
> + return ret;
> }
>
> /*
> @@ -345,6 +356,9 @@ static void __devexit hpfb_remove_one(struct dio_dev *d)
> if (d->scode >= DIOII_SCBASE)
> iounmap((void *)fb_regs);
> release_mem_region(d->resource.start, resource_size(&d->resource));
> + fb_dealloc_cmap(&fb_info.cmap);
> + if (fb_info.screen_base)
> + iounmap(fb_info.screen_base);
> }
>
> static struct dio_device_id hpfb_dio_tbl[] = {
^ permalink raw reply
* Re: [PATCH] drivers: console: font_: Change a glyph from "broken bar" to "vertical line"
From: Florian Tobias Schandinat @ 2012-09-23 19:20 UTC (permalink / raw)
To: linux-fbdev
On 08/12/2012 03:05 PM, Bjarni Ingi Gislason wrote:
> The code 124 (0x7C, |) is rendered as a broken line in two
> fonts, instead of a continuous line. Some keyboards show a
> "broken bar" on one of theirs keys, other show a (continuous)
> "vertical line".
>
> Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
Applied, as I think you're right and don't know any policy to not change
existing fonts. But it would be better if you use git to create your
patches.
Best regards,
Florian Tobias Schandinat
> ---
> linux-3.5/drivers/video/console/font_mini_4x6.c | 2 +-
> linux-3.5/drivers/video/console/font_sun8x16.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff -upr -X linux-3.5/Documentation/dontdiff linux-3.5/drivers/video/console/font_mini_4x6.c devel/linux-3.5/drivers/video/console/font_mini_4x6.c
> --- linux-3.5/drivers/video/console/font_mini_4x6.c 2012-07-21 20:58:29.000000000 +0000
> +++ devel/linux-3.5/drivers/video/console/font_mini_4x6.c 2012-08-11 15:27:41.778918653 +0000
> @@ -1092,7 +1092,7 @@ static const unsigned char fontdata_mini
> /*{*/ /* Char 124: '|' */
> 0x44, /*= [ * ] */
> 0x44, /*= [ * ] */
> - 0x00, /*= [ ] */
> + 0x44, /*= [ * ] */
> 0x44, /*= [ * ] */
> 0x44, /*= [ * ] */
> 0x00, /*= [ ] */
> diff -upr -X linux-3.5/Documentation/dontdiff linux-3.5/drivers/video/console/font_sun8x16.c devel/linux-3.5/drivers/video/console/font_sun8x16.c
> --- linux-3.5/drivers/video/console/font_sun8x16.c 2012-07-21 20:58:29.000000000 +0000
> +++ devel/linux-3.5/drivers/video/console/font_sun8x16.c 2012-08-11 15:28:22.490299722 +0000
> @@ -127,7 +127,7 @@ static const unsigned char fontdata_sun8
> /*y*/ 0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7e,0x06,0x0c,0xf8,0x00,
> /*z*/ 0x00,0x00,0x00,0x00,0x00,0xfe,0xcc,0x18,0x30,0x60,0xc6,0xfe,0x00,0x00,0x00,0x00,
> /*{*/ 0x00,0x00,0x0e,0x18,0x18,0x18,0x70,0x18,0x18,0x18,0x18,0x0e,0x00,0x00,0x00,0x00,
> -/*|*/ 0x00,0x00,0x18,0x18,0x18,0x18,0x00,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00,
> +/*|*/ 0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00,
> /*}*/ 0x00,0x00,0x70,0x18,0x18,0x18,0x0e,0x18,0x18,0x18,0x18,0x70,0x00,0x00,0x00,0x00,
> /*~*/ 0x00,0x00,0x76,0xdc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
> /* */ 0x00,0x00,0x00,0x00,0x10,0x38,0x6c,0xc6,0xc6,0xc6,0xfe,0x00,0x00,0x00,0x00,0x00,
>
^ permalink raw reply
* Re: [alsa-devel] [PATCH v2 00/34] i.MX multi-platform support
From: Mark Brown @ 2012-09-22 15:43 UTC (permalink / raw)
To: Olof Johansson
Cc: alsa-devel, Artem Bityutskiy, linux-fbdev, Wim Van Sebroeck,
linux-mtd, linux-i2c, rtc-linux, Florian Tobias Schandinat,
Paulius Zaleckas, Chris Ball, linux-media, linux-watchdog,
Arnd Bergmann, Sascha Hauer, Rob Herring, linux-arm-kernel,
Vinod Koul, Greg Kroah-Hartman, linux-usb, linux-mmc,
Wolfram Sang, Javier Martin, Andrew Morton, Shawn Guo
In-Reply-To: <CAOesGMi6CbvFikycJVdE8W-DxLD3W7+CyScz+YT103dxR31U9g@mail.gmail.com>
On Fri, Sep 21, 2012 at 01:26:43AM -0700, Olof Johansson wrote:
> I'll take a look at merging it tomorrow after I've dealt with smp_ops;
> if it looks reasonably conflict-free I'll pull it in. We need the
> sound dependency sorted out (or agreed upon) first though.
I guess in the light of the rest of the thread it doesn't much matter
for this merge window but I just pushed:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git tags/asoc-3.7
which is signed so can happily be merged elsewhere.
^ permalink raw reply
* Re: [alsa-devel] [PATCH v2 00/34] i.MX multi-platform support
From: Shawn Guo @ 2012-09-22 9:34 UTC (permalink / raw)
To: Olof Johansson
Cc: Arnd Bergmann, alsa-devel, Mark Brown, Artem Bityutskiy,
linux-fbdev, Wim Van Sebroeck, linux-mtd, linux-i2c,
Florian Tobias Schandinat, Paulius Zaleckas, Chris Ball,
linux-media, linux-watchdog, rtc-linux, Sascha Hauer, Rob Herring,
linux-arm-kernel, Vinod Koul, Greg Kroah-Hartman, linux-usb,
linux-mmc, Wolfram Sang, Javier Martin, Andrew Morton
In-Reply-To: <CAOesGMg+FvoVmiCee5hhe+_ZtBpvsnsi2N3vvLmZz1Tq3pOBWw@mail.gmail.com>
On Sat, Sep 22, 2012 at 01:09:27AM -0700, Olof Johansson wrote:
> > I've pulled this in now as staging/imx-multiplatform.
> >
> > As you mention, it might or might not make sense to send this up. It
> > also accrued a few more merge conflicts with other branches in
> > arm-soc, so we'll see how things play out.
> >
> > Either way, we'll for sure queue it for 3.8.
>
> Hmm. Pulling it in gives me a few new build errors, in particular on
> the configs that Russell use to build test omap3, as well as one of
> his vexpress configs. So I dropped it again for now.
>
> Let's have the current contents sit in linux-next for at least one
> release before we bring in anything more, especially since it brings
> in dependencies on external trees, and it also has a handful of new
> merge conflicts. We're already exposing Stephen Rothwell to more merge
> conflicts than I'm entirely comfortable with.
>
Ok. I will rebase the series against 3.7-rc1 and then send you then.
Shawn
^ permalink raw reply
* Re: [alsa-devel] [PATCH v2 00/34] i.MX multi-platform support
From: Olof Johansson @ 2012-09-22 8:09 UTC (permalink / raw)
To: Shawn Guo
Cc: alsa-devel, linux-usb, Artem Bityutskiy, linux-fbdev,
Wim Van Sebroeck, linux-mtd, linux-i2c, rtc-linux,
Florian Tobias Schandinat, Paulius Zaleckas, Chris Ball,
linux-media, linux-watchdog, Arnd Bergmann, Sascha Hauer,
Rob Herring, linux-arm-kernel, Vinod Koul, Greg Kroah-Hartman,
Mark Brown, linux-mmc, Wolfram Sang, Javier Martin, Andrew Morton
In-Reply-To: <CAOesGMiHJnt7zq19ZycxaNUD64QzLYw7o79pP-Y91-zi60ny6g@mail.gmail.com>
On Sat, Sep 22, 2012 at 12:41 AM, Olof Johansson <olof@lixom.net> wrote:
> Hi,
>
> On Fri, Sep 21, 2012 at 9:53 AM, Shawn Guo <shawn.guo@linaro.org> wrote:
>> On Sat, Sep 22, 2012 at 12:46:26AM +0800, Shawn Guo wrote:
>>> I just published the branch below with this series rebased on top of
>>> the necessary dependant branches.
>>>
>>> git://git.linaro.org/people/shawnguo/linux-2.6.git staging/imx-multiplatform
>>>
>>> The dependant branches include:
>>>
>>
>> Forgot the base:
>>
>> * arm-soc/next/multiplatform
>>
>> Shawn
>>
>>> * arm-soc/multiplatform/platform-data
>>>
>>> * arm-soc/multiplatform/smp_ops
>>>
>>> * git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-3.7
>>>
>>> It contains dependant patch "ASoC: mx27vis: retrieve gpio numbers
>>> from platform_data"
>>>
>>> * git://git.infradead.org/mtd-2.6.git master
>>>
>>> The series is based on this tree to solve some non-trivial conflicts
>>> on mxc_nand driver. Because mtd tree completely missed 3.6 merge
>>> window, having the series base on 3.6-rc actually means 3.5 code base
>>> in term of mtd support. There are currently two cycles changes
>>> accumulated on mtd, and we need to base the series on it to sort out
>>> the conflicts.
>>>
>>> * git://linuxtv.org/mchehab/media-next.git master
>>>
>>> The media tree renames mx2/mx3 camera drivers twice. I'm not sure
>>> if git merge can detect them, so I just rebased the series on media
>>> tree to solve that. The bonus point is that a number of trivial
>>> conflicts with imx27-coda support on media tree gets solved as well.
>>>
>>> I'm not requesting you to pull the branch into arm-soc as a stable
>>> branch but staging one, because the external dependencies which might
>>> not be stable. I attempt to use it for exposing the series on
>>> linux-next, so that we can send it to Linus for 3.7 if there is chance
>>> for us to (e.g. all the dependant branches hit mainline early during
>>> 3.7 merge window).
>
> I've pulled this in now as staging/imx-multiplatform.
>
> As you mention, it might or might not make sense to send this up. It
> also accrued a few more merge conflicts with other branches in
> arm-soc, so we'll see how things play out.
>
> Either way, we'll for sure queue it for 3.8.
Hmm. Pulling it in gives me a few new build errors, in particular on
the configs that Russell use to build test omap3, as well as one of
his vexpress configs. So I dropped it again for now.
Let's have the current contents sit in linux-next for at least one
release before we bring in anything more, especially since it brings
in dependencies on external trees, and it also has a handful of new
merge conflicts. We're already exposing Stephen Rothwell to more merge
conflicts than I'm entirely comfortable with.
-Olof
^ permalink raw reply
* Re: [alsa-devel] [PATCH v2 00/34] i.MX multi-platform support
From: Olof Johansson @ 2012-09-22 7:41 UTC (permalink / raw)
To: Shawn Guo
Cc: Arnd Bergmann, alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw, Mark Brown,
Artem Bityutskiy, linux-fbdev-u79uwXL29TY76Z2rM5mHXA,
Wim Van Sebroeck, linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-i2c-u79uwXL29TY76Z2rM5mHXA, Florian Tobias Schandinat,
Paulius Zaleckas, Chris Ball, linux-media-u79uwXL29TY76Z2rM5mHXA,
linux-watchdog-u79uwXL29TY76Z2rM5mHXA,
rtc-linux-/JYPxA39Uh5TLH3MbocFFw, Sascha Hauer, Rob Herring,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Vinod Koul,
Greg Kroah-Hartman, linux-usb-u79uwXL29TY76Z2rM5mHXA,
linux-mmc-u79uwXL29TY76Z2rM5mHXA, Wolfram Sang, Javier Martin,
Andrew Morton
In-Reply-To: <20120921165305.GB5394-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
Hi,
On Fri, Sep 21, 2012 at 9:53 AM, Shawn Guo <shawn.guo@linaro.org> wrote:
> On Sat, Sep 22, 2012 at 12:46:26AM +0800, Shawn Guo wrote:
>> I just published the branch below with this series rebased on top of
>> the necessary dependant branches.
>>
>> git://git.linaro.org/people/shawnguo/linux-2.6.git staging/imx-multiplatform
>>
>> The dependant branches include:
>>
>
> Forgot the base:
>
> * arm-soc/next/multiplatform
>
> Shawn
>
>> * arm-soc/multiplatform/platform-data
>>
>> * arm-soc/multiplatform/smp_ops
>>
>> * git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-3.7
>>
>> It contains dependant patch "ASoC: mx27vis: retrieve gpio numbers
>> from platform_data"
>>
>> * git://git.infradead.org/mtd-2.6.git master
>>
>> The series is based on this tree to solve some non-trivial conflicts
>> on mxc_nand driver. Because mtd tree completely missed 3.6 merge
>> window, having the series base on 3.6-rc actually means 3.5 code base
>> in term of mtd support. There are currently two cycles changes
>> accumulated on mtd, and we need to base the series on it to sort out
>> the conflicts.
>>
>> * git://linuxtv.org/mchehab/media-next.git master
>>
>> The media tree renames mx2/mx3 camera drivers twice. I'm not sure
>> if git merge can detect them, so I just rebased the series on media
>> tree to solve that. The bonus point is that a number of trivial
>> conflicts with imx27-coda support on media tree gets solved as well.
>>
>> I'm not requesting you to pull the branch into arm-soc as a stable
>> branch but staging one, because the external dependencies which might
>> not be stable. I attempt to use it for exposing the series on
>> linux-next, so that we can send it to Linus for 3.7 if there is chance
>> for us to (e.g. all the dependant branches hit mainline early during
>> 3.7 merge window).
I've pulled this in now as staging/imx-multiplatform.
As you mention, it might or might not make sense to send this up. It
also accrued a few more merge conflicts with other branches in
arm-soc, so we'll see how things play out.
Either way, we'll for sure queue it for 3.8.
-Olof
^ permalink raw reply
* Re: [PATCH 1/2] video: s3c2410: Use pr_* and dev_* instead of printk
From: Sachin Kamat @ 2012-09-22 3:55 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <002c01cd8f42$a2104080$e630c180$%han@samsung.com>
Hi,
Any comments on this patch?
On 10 September 2012 16:24, Jingoo Han <jg1.han@samsung.com> wrote:
> From: Sachin Kamat <sachin.kamat@linaro.org>
>
> printk calls are replaced by pr_* and dev_* calls to silence
> checkpatch warnings.
>
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> Signed-off-by: Jingoo Han <jg1.han@samsung.com>
> ---
> drivers/video/s3c2410fb.c | 22 ++++++++++++++--------
> 1 files changed, 14 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/video/s3c2410fb.c b/drivers/video/s3c2410fb.c
> index 77f34c6..1aa37ea 100644
> --- a/drivers/video/s3c2410fb.c
> +++ b/drivers/video/s3c2410fb.c
> @@ -11,6 +11,8 @@
> * Driver based on skeletonfb.c, sa1100fb.c and others.
> */
>
> +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> +
> #include <linux/module.h>
> #include <linux/kernel.h>
> #include <linux/err.h>
> @@ -48,7 +50,11 @@ static int debug = 1;
> static int debug;
> #endif
>
> -#define dprintk(msg...) if (debug) printk(KERN_DEBUG "s3c2410fb: " msg);
> +#define dprintk(msg...) \
> +do { \
> + if (debug) \
> + pr_debug(msg); \
> +} while (0)
>
> /* useful functions */
>
> @@ -598,11 +604,11 @@ static int s3c2410fb_debug_store(struct device *dev,
> if (strnicmp(buf, "on", 2) = 0 ||
> strnicmp(buf, "1", 1) = 0) {
> debug = 1;
> - printk(KERN_DEBUG "s3c2410fb: Debug On");
> + dev_dbg(dev, "s3c2410fb: Debug On");
> } else if (strnicmp(buf, "off", 3) = 0 ||
> strnicmp(buf, "0", 1) = 0) {
> debug = 0;
> - printk(KERN_DEBUG "s3c2410fb: Debug Off");
> + dev_dbg(dev, "s3c2410fb: Debug Off");
> } else {
> return -EINVAL;
> }
> @@ -921,7 +927,7 @@ static int __devinit s3c24xxfb_probe(struct platform_device *pdev,
>
> info->clk = clk_get(NULL, "lcd");
> if (IS_ERR(info->clk)) {
> - printk(KERN_ERR "failed to get lcd clock source\n");
> + dev_err(&pdev->dev, "failed to get lcd clock source\n");
> ret = PTR_ERR(info->clk);
> goto release_irq;
> }
> @@ -947,7 +953,7 @@ static int __devinit s3c24xxfb_probe(struct platform_device *pdev,
> /* Initialize video memory */
> ret = s3c2410fb_map_video_memory(fbinfo);
> if (ret) {
> - printk(KERN_ERR "Failed to allocate video RAM: %d\n", ret);
> + dev_err(&pdev->dev, "Failed to allocate video RAM: %d\n", ret);
> ret = -ENOMEM;
> goto release_clock;
> }
> @@ -970,7 +976,7 @@ static int __devinit s3c24xxfb_probe(struct platform_device *pdev,
>
> ret = register_framebuffer(fbinfo);
> if (ret < 0) {
> - printk(KERN_ERR "Failed to register framebuffer device: %d\n",
> + dev_err(&pdev->dev, "Failed to register framebuffer device: %d\n",
> ret);
> goto free_cpufreq;
> }
> @@ -978,9 +984,9 @@ static int __devinit s3c24xxfb_probe(struct platform_device *pdev,
> /* create device files */
> ret = device_create_file(&pdev->dev, &dev_attr_debug);
> if (ret)
> - printk(KERN_ERR "failed to add debug attribute\n");
> + dev_err(&pdev->dev, "failed to add debug attribute\n");
>
> - printk(KERN_INFO "fb%d: %s frame buffer device\n",
> + dev_info(&pdev->dev, "fb%d: %s frame buffer device\n",
> fbinfo->node, fbinfo->fix.id);
>
> return 0;
> --
> 1.7.1
>
>
--
With warm regards,
Sachin
^ permalink raw reply
* Re: [alsa-devel] [PATCH v2 00/34] i.MX multi-platform support
From: Shawn Guo @ 2012-09-21 16:53 UTC (permalink / raw)
To: Olof Johansson
Cc: alsa-devel, linux-usb, Artem Bityutskiy, linux-fbdev,
Wim Van Sebroeck, linux-mtd, linux-i2c, rtc-linux,
Florian Tobias Schandinat, Paulius Zaleckas, Chris Ball,
linux-media, linux-watchdog, Arnd Bergmann, Sascha Hauer,
Rob Herring, linux-arm-kernel, Vinod Koul, Greg Kroah-Hartman,
Mark Brown, linux-mmc, Wolfram Sang, Javier Martin, Andrew Morton
In-Reply-To: <20120921164622.GA5394@S2101-09.ap.freescale.net>
On Sat, Sep 22, 2012 at 12:46:26AM +0800, Shawn Guo wrote:
> I just published the branch below with this series rebased on top of
> the necessary dependant branches.
>
> git://git.linaro.org/people/shawnguo/linux-2.6.git staging/imx-multiplatform
>
> The dependant branches include:
>
Forgot the base:
* arm-soc/next/multiplatform
Shawn
> * arm-soc/multiplatform/platform-data
>
> * arm-soc/multiplatform/smp_ops
>
> * git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-3.7
>
> It contains dependant patch "ASoC: mx27vis: retrieve gpio numbers
> from platform_data"
>
> * git://git.infradead.org/mtd-2.6.git master
>
> The series is based on this tree to solve some non-trivial conflicts
> on mxc_nand driver. Because mtd tree completely missed 3.6 merge
> window, having the series base on 3.6-rc actually means 3.5 code base
> in term of mtd support. There are currently two cycles changes
> accumulated on mtd, and we need to base the series on it to sort out
> the conflicts.
>
> * git://linuxtv.org/mchehab/media-next.git master
>
> The media tree renames mx2/mx3 camera drivers twice. I'm not sure
> if git merge can detect them, so I just rebased the series on media
> tree to solve that. The bonus point is that a number of trivial
> conflicts with imx27-coda support on media tree gets solved as well.
>
> I'm not requesting you to pull the branch into arm-soc as a stable
> branch but staging one, because the external dependencies which might
> not be stable. I attempt to use it for exposing the series on
> linux-next, so that we can send it to Linus for 3.7 if there is chance
> for us to (e.g. all the dependant branches hit mainline early during
> 3.7 merge window).
^ permalink raw reply
* Re: [alsa-devel] [PATCH v2 00/34] i.MX multi-platform support
From: Shawn Guo @ 2012-09-21 16:46 UTC (permalink / raw)
To: Olof Johansson
Cc: Arnd Bergmann, alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw, Mark Brown,
Artem Bityutskiy, linux-fbdev-u79uwXL29TY76Z2rM5mHXA,
Wim Van Sebroeck, linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-i2c-u79uwXL29TY76Z2rM5mHXA, Florian Tobias Schandinat,
Paulius Zaleckas, Chris Ball, linux-media-u79uwXL29TY76Z2rM5mHXA,
linux-watchdog-u79uwXL29TY76Z2rM5mHXA,
rtc-linux-/JYPxA39Uh5TLH3MbocFFw, Sascha Hauer, Rob Herring,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Vinod Koul,
Greg Kroah-Hartman, linux-usb-u79uwXL29TY76Z2rM5mHXA,
linux-mmc-u79uwXL29TY76Z2rM5mHXA, Wolfram Sang, Javier Martin,
Andrew Morton
In-Reply-To: <CAOesGMi6CbvFikycJVdE8W-DxLD3W7+CyScz+YT103dxR31U9g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
Hi Olof,
On Fri, Sep 21, 2012 at 01:26:43AM -0700, Olof Johansson wrote:
> I'll take a look at merging it tomorrow after I've dealt with smp_ops;
> if it looks reasonably conflict-free I'll pull it in. We need the
> sound dependency sorted out (or agreed upon) first though.
>
I just published the branch below with this series rebased on top of
the necessary dependant branches.
git://git.linaro.org/people/shawnguo/linux-2.6.git staging/imx-multiplatform
The dependant branches include:
* arm-soc/multiplatform/platform-data
* arm-soc/multiplatform/smp_ops
* git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-3.7
It contains dependant patch "ASoC: mx27vis: retrieve gpio numbers
from platform_data"
* git://git.infradead.org/mtd-2.6.git master
The series is based on this tree to solve some non-trivial conflicts
on mxc_nand driver. Because mtd tree completely missed 3.6 merge
window, having the series base on 3.6-rc actually means 3.5 code base
in term of mtd support. There are currently two cycles changes
accumulated on mtd, and we need to base the series on it to sort out
the conflicts.
* git://linuxtv.org/mchehab/media-next.git master
The media tree renames mx2/mx3 camera drivers twice. I'm not sure
if git merge can detect them, so I just rebased the series on media
tree to solve that. The bonus point is that a number of trivial
conflicts with imx27-coda support on media tree gets solved as well.
I'm not requesting you to pull the branch into arm-soc as a stable
branch but staging one, because the external dependencies which might
not be stable. I attempt to use it for exposing the series on
linux-next, so that we can send it to Linus for 3.7 if there is chance
for us to (e.g. all the dependant branches hit mainline early during
3.7 merge window).
Shawn
^ permalink raw reply
* [PATCH 4/6] xen-fbfront: handle backend CLOSED without CLOSING
From: David Vrabel @ 2012-09-21 16:04 UTC (permalink / raw)
To: xen-devel; +Cc: David Vrabel, Konrad Rzeszutek Wilk, linux-kernel, linux-fbdev
In-Reply-To: <1348243464-15903-1-git-send-email-david.vrabel@citrix.com>
From: David Vrabel <david.vrabel@citrix.com>
Backend drivers shouldn't transistion to CLOSED unless the frontend is
CLOSED. If a backend does transition to CLOSED too soon then the
frontend may not see the CLOSING state and will not properly shutdown.
So, treat an unexpected backend CLOSED state the same as CLOSING.
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Cc: <linux-fbdev@vger.kernel.org>
---
drivers/video/xen-fbfront.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/drivers/video/xen-fbfront.c b/drivers/video/xen-fbfront.c
index b7f5173..917bb56 100644
--- a/drivers/video/xen-fbfront.c
+++ b/drivers/video/xen-fbfront.c
@@ -641,7 +641,6 @@ static void xenfb_backend_changed(struct xenbus_device *dev,
case XenbusStateReconfiguring:
case XenbusStateReconfigured:
case XenbusStateUnknown:
- case XenbusStateClosed:
break;
case XenbusStateInitWait:
@@ -670,6 +669,10 @@ InitWait:
info->feature_resize = val;
break;
+ case XenbusStateClosed:
+ if (dev->state = XenbusStateClosed)
+ break;
+ /* Missed the backend's CLOSING state -- fallthrough */
case XenbusStateClosing:
xenbus_frontend_closed(dev);
break;
--
1.7.2.5
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox