From: Krzysztof Halasa <khc@pm.waw.pl>
To: "Antonino A. Daplas" <adaplas@gmail.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>,
Jean Delvare <khali@linux-fr.org>, Andrew Morton <akpm@osdl.org>,
lkml <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2] cirrus-logic-framebuffer-i2c-support.patch
Date: Mon, 10 Jul 2006 17:37:30 +0200 [thread overview]
Message-ID: <m3r70tqxmt.fsf@defiant.localdomain> (raw)
In-Reply-To: <44B26004.4050500@gmail.com> (Antonino A. Daplas's message of "Mon, 10 Jul 2006 22:11:16 +0800")
"Antonino A. Daplas" <adaplas@gmail.com> writes:
> David Eger is the author, the last I heard from him was 2 years ago.
> But I haven't received that many problem reports on cirrusfb.
Doesn't matter, what is important is that you know the stuff.
> The only register touched by the i2c code is EEPROM control (CL_SEQR8).
> This is never touched by the rest of the cirrusfb code. So I don't
> think concurrent access is a problem (unless the hardware has restrictions
> such as no other register accesses are allowed while this register is being
> accessed).
I mean I'm using (simplified):
unsigned char vga_rseq (void *regbase, unsigned char reg)
{
vga_w (regbase, VGA_SEQ_I, reg);
return vga_r (regbase, VGA_SEQ_D);
}
and
void vga_wseq (void *regbase, unsigned char reg, unsigned char val)
{
#ifdef VGA_OUTW_WRITE
vga_w_fast (regbase, VGA_SEQ_I, reg, val);
#else
vga_w (regbase, VGA_SEQ_I, reg);
vga_w (regbase, VGA_SEQ_D, val);
#endif /* VGA_OUTW_WRITE */
}
How do I know the following will not happen:
taskA) alpine_getsda() called from I2C subsystem
taskB) cirrusfb_blank() called from elsewhere
taskA) vga_rseq() calls vga_w()
taskB) vga_rseq() or _wseq() calls vga_w()
taskA) vga_r() performed with wrong index (set by taskB).
I see most of vga_[rw]seq() calls are at init/set_mode time but still
this could be a problem.
This question isn't limited to cirrusfb only, of course.
> The framebuffer layer is serialized by
> acquire_console_sem()/release_console_sem(). If you think concurrent access
> is a problem, you can always use that.
It's quite big... While I haven't investigated that, I rather thought
about some small lock for vga_rseq() and vga_wseq(). Not sure.
Another thing... How is access to VGA registers shared between
X11 and the framebuffer?
--
Krzysztof Halasa
next prev parent reply other threads:[~2006-07-10 15:37 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200607050147.k651kxmT023763@shell0.pdx.osdl.net>
[not found] ` <20060705165255.ab7f1b83.khali@linux-fr.org>
2006-07-09 20:37 ` Krzysztof Halasa
2006-07-09 23:53 ` Antonino A. Daplas
2006-07-10 9:49 ` Krzysztof Halasa
2006-07-10 10:07 ` Antonino A. Daplas
2006-07-10 10:49 ` Krzysztof Halasa
2006-07-10 11:27 ` Antonino A. Daplas
2006-07-10 11:49 ` Krzysztof Halasa
2006-07-10 12:32 ` Antonino A. Daplas
2006-07-10 13:09 ` Krzysztof Halasa
2006-07-10 14:29 ` Antonino A. Daplas
2006-07-10 14:46 ` Krzysztof Halasa
2006-07-27 21:23 ` Jean Delvare
2006-07-10 13:27 ` Krzysztof Halasa
2006-07-10 14:11 ` Antonino A. Daplas
2006-07-10 15:37 ` Krzysztof Halasa [this message]
2006-07-10 16:30 ` Antonino A. Daplas
2006-07-10 20:34 ` Krzysztof Halasa
2006-07-11 7:22 ` Antonino A. Daplas
2006-07-11 10:53 ` Krzysztof Halasa
2006-07-27 20:55 ` Jean Delvare
2006-07-28 10:05 ` Krzysztof Halasa
2006-07-10 15:18 ` Antonino A. Daplas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m3r70tqxmt.fsf@defiant.localdomain \
--to=khc@pm.waw.pl \
--cc=adaplas@gmail.com \
--cc=adaplas@pol.net \
--cc=akpm@osdl.org \
--cc=khali@linux-fr.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®