On 07/01/2014 05:02 PM, One Thousand Gnomes wrote:
> On Sat, 28 Jun 2014 15:15:56 -0500
> Alex Elder <el...@linaro.org> wrote:
> 
>> On 06/28/2014 10:36 AM, One Thousand Gnomes wrote:
>>> On Fri, 27 Jun 2014 12:25:20 -0500
>>>> +          rate = 16 * max(115200U, (unsigned int)baud);
>>>> +
>>>
>>> This assumes an arbitarily configurable clock, which is not I think the
>>> usual case. 
>>
>> If the clock's rate can't change, this will return an error,
>> and the recorded rate (p->uartclk) will not be changed.
> 
> Which assumes an arbitrarily configurable clock, whereas you want to find
> the correct clock and multiplier combination for the baud rate.
> 
> Most of these ports are wired to fixed clocks (which is fine) or clocks
> with limited numbers of supported frequencies (which is not).

Yes, I acknowledged that in my earlier response.  But over
the weekend I decided to abandon hope that I'd be able to
verify there are no problems for affected machines, and
re-formulated my patch.
    https://lkml.org/lkml/2014/7/1/323

> Your patch is an improvement but doesn't really fix the overall problem.
> If we have enough devices with variable clocks for it to be useful then
> fine - but can we merge it with a big FIXME note so that whoever comes
> along wondering why their clock doesn't work or behaves very oddly can
> figure it out and fix that case ?

What I've done now is define a dw8250_adjustable_clk() predicate
that indicates the UART baud can be adjusted by changing the
clock rate.  Anyone who wants to activate this functionality
can just modify that function to recognize their device.

                                                        -Alex

> Alan
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to