lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201207251331.52883.arnd@arndb.de>
Date:	Wed, 25 Jul 2012 13:31:52 +0000
From:	Arnd Bergmann <arnd@...db.de>
To:	Tomoya MORINAGA <tomoya.rohm@...il.com>
Cc:	"Greg Kroah-Hartman" <gregkh@...uxfoundation.org>,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] misc/pch_phub: Enable UART clock setting by module parameter

Hi Tomoya,

On Tuesday 24 July 2012, Tomoya MORINAGA wrote:
> Let me know this patch status.
> If you have still any concern, let me know.

Sorry for the late reply.

> BTW, now I remember, Did you take part in LinuxConJapan last month ?
> I also took part in this event as volunteer staff.
> Additionally, I took charge of your session as time keeper.
> 
> Thanks in advance.
> -- 
> ROHM Co., Ltd.
> tomoya
> 
> On Thu, Jul 12, 2012 at 9:54 AM, Tomoya MORINAGA <tomoya.rohm@...il.com> wrote:
> > On Wed, Jul 11, 2012 at 7:45 PM, Arnd Bergmann <arnd@...db.de> wrote:
> >> This looks like a rather nonscalable solution if you get to systems
> >> with lots of clocks.
> >
> > This "clock" is internal clock, not external clock.
> > This PacketHub provides clock to the UART module
> > Both the PacketHub and the UART is in 1 chip LSI which is EG20T.
> > So, selectable clock 1.8432MHz or 48MHz or 64MHz or 192MHz are enough.

Right, I got this part.

> >> Given that you are doing it for the uart clock, shouldn't that be
> >> set from the uart driver using an ioctl like other serial ports do?
> > PacketHub is not serial driver but special driver. So, ioctl doesn't
> > suit PacketHub.
> >
> >> What would be the use case for an end user to override the module
> >> parameter? Is it about platform specific settings or policy?
> > I show use case.
> > Currently, UART works with 1.8432MHz.
> > Using this clock, as you know, maximum speed is 115k.
> > A user wants to use 4M speed, the user need to modify pch_phun.c by hand.
> > If this patch is applied, a user can specify uart_clock via a modules
> > parameter and use 4M speed.
> >
> > My reference driver for this patch is drivers/tty/serial/pch_uart.c
> > This driver can set uart_clock via a module parameter(user_uartclk).

It's clear that modifying the source code is not a good solution, so
I agree something should be done about it.

What I think should work better here would be to use the clk API,
so that the phub driver registers a 'struct clk' using 
(I assume) clk_register_divider_table().
The UART driver would then call clk_get() to find that clk for
the uart device and call clk_set_rate when it needs to change
that clock in order to set a different baud rate.

Does this make sense?

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ