again sorry !! I'm posting this for future reference if anyone had the same 
problem , in pwm-sun4i.c
in function sun4i_pwm_probe 

platform_set_drvdata(pdev, pwm);

    ret = clk_prepare_enable(pwm->clk);
    if (ret) {
        dev_err(&pdev->dev, "failed to enable PWM clock\n");
        goto clk_error;
    }
    
+    sun4i_pwm_config(&pwm->chip,&pwm->chip.pwms[0],50000,50000);
+   sun4i_pwm_enable(&pwm->chip,&pwm->chip.pwms[0]);    
    val = sun4i_pwm_readl(pwm, PWM_CTRL_REG);
    for (i = 0; i < pwm->chip.npwm; i++)
        if (!(val & BIT_CH(PWM_ACT_STATE, i)))
            pwm_set_polarity(&pwm->chip.pwms[i],
                     PWM_POLARITY_INVERSED);
    clk_disable_unprepare(pwm->clk);

    return 0;




On Saturday, March 25, 2017 at 8:16:12 PM UTC+2, Eyad Majali wrote:
>
> sorry the correct modification is the following in pwm-sun4i.c
> in function sun4i_pwm_probe
>
> spin_lock_init(&pwm->ctrl_lock);
>
>     ret = pwmchip_add(&pwm->chip);
>     if (ret < 0) {
>         dev_err(&pdev->dev, "failed to add PWM chip: %d\n", ret);
>         return ret;
>     }
>
>     platform_set_drvdata(pdev, pwm);
>
>     ret = clk_prepare_enable(pwm->clk);
>     if (ret) {
>         dev_err(&pdev->dev, "failed to enable PWM clock\n");
>         goto clk_error;
>     }
>     +sun4i_pwm_config(&pwm->chip,&pwm->chip.pwms[0],50000,50000);
>
>
>
>
> On Friday, March 24, 2017 at 7:57:48 PM UTC+2, Eyad Majali wrote:
>>
>>
>> I fixed the problem by modifying drivers/pwm/core.c as following:
>> in function pwmchip_add_with_polarity
>>
>> for (i = 0; i < chip->npwm; i++) {
>>         pwm = &chip->pwms[i];
>>
>>         pwm->chip = chip;
>>         pwm->pwm = chip->base + i;
>>         pwm->hwpwm = i;
>>         pwm->state.polarity = polarity;
>>       +pwm->state.period = 50000;
>>       +pwm->state.duty_cycle = 50000;
>>       +pwm->state.enabled = true;
>>         if (chip->ops->get_state)
>>             chip->ops->get_state(chip, pwm, &pwm->state);
>>
>>         radix_tree_insert(&pwm_tree, pwm->pwm, pwm);
>>     }
>>
>> It's a hack but its working
>>
>> On Monday, March 20, 2017 at 11:39:43 AM UTC+2, Eyad Majali wrote:
>>>
>>> Yes it did , I think I have to modify the source code of pwm-sun4i and 
>>> init it to 100% duty cycle , is there any easier solution ?
>>>
>>> On Monday, March 20, 2017 at 6:25:49 AM UTC+2, Icenowy Zheng wrote:
>>>>
>>>>
>>>>
>>>> 20.03.2017, 04:21, "Eyad Majali" <[email protected]>: 
>>>> > I did these changes before I know about the patch to prevent complete 
>>>> lcd turn off , yes I'm on 4.11-rc , the problem is mainly with pwm-sun4i 
>>>> > when its enabled alone without pwm_bl the screen brightness is very 
>>>> low, enabling pwm_bl doesnt solve the problem until i rmmod it the load it 
>>>> again 
>>>>
>>>> Does it really prevented complete LCD blacklight turn off on your 
>>>> tablet? At least it worked on my A33 ;-) 
>>>>
>>>> > On Sunday, March 19, 2017 at 6:29:35 PM UTC+2, Icenowy Zheng wrote: 
>>>> > 
>>>> >> 20.03.2017, 00:08, "Quentin Schulz" <[email protected]>: 
>>>>
>>>> >>> Hi, 
>>>> >>> 
>>>> >>> On 19/03/2017 15:59, Eyad Majali wrote: 
>>>> >>>>  Hi, 
>>>> >>>>  pwm is configured in dtsi , when the module loads screen 
>>>> brightness 
>>>> >>>>  decrease to minimum ( barely sees anything) how to fix that ? 
>>>> >>>>  also when i enable pwm-bl it turns off the screen completely , 
>>>> but when 
>>>> >>>>  i removed the enable-gpios the result was the same with pwm-sun4i 
>>>> alone but 
>>>> >>>>  if i rmmod pwm-bl and then modprobe pwm-bl it will load the 
>>>> default 
>>>> >>>>  brightness level correctly 
>>>> >>>>  any help is apreciated , Thanks 
>>>> >>> 
>>>> >>> I think this patch can help you: 
>>>> https://patchwork.kernel.org/patch/9631655/ 
>>>> >> 
>>>> >> P.S. are you using 4.11-rc now? 
>>>> >> 
>>>> >> This patch only takes effect on 4.11-rc. 
>>>> >> 
>>>> >>> 
>>>> >>> Quentin 
>>>> >>> 
>>>> >>>>  -- 
>>>> >>>>  You received this message because you are subscribed to the 
>>>> Google 
>>>> >>>>  Groups "linux-sunxi" group. 
>>>> >>>>  To unsubscribe from this group and stop receiving emails from it, 
>>>> send 
>>>> >>>>  an email to [email protected] 
>>>> >>>>  <mailto:[email protected]>. 
>>>> >>>>  For more options, visit https://groups.google.com/d/optout. 
>>>> >>> 
>>>> >>> -- 
>>>> >>> Quentin Schulz, Free Electrons 
>>>> >>> Embedded Linux and Kernel engineering 
>>>> >>> http://free-electrons.com 
>>>> >>> 
>>>> >>> -- 
>>>> >>> You received this message because you are subscribed to the Google 
>>>> Groups "linux-sunxi" group. 
>>>> >>> To unsubscribe from this group and stop receiving emails from it, 
>>>> send an email to [email protected]. 
>>>> >>> For more options, visit https://groups.google.com/d/optout. 
>>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to