🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.linux.programowanie
Article #72373

Problem w sterowniku 8250 - printk pomaga, brak sekcji krytycznej

#72373
From: elonica.pl
Date: Thu, 27 Oct 2011 08:44
35 lines
2451 bytes
Witam,

Mam napisaną własną część sterownika 8250. Dodatkowe kości 16C550
podłączone są przez GPIO. Problem jest taki, ze sterownik gubi mi
część znaków przesyłanych na /dev/ttySX (pojawia sie tylko jakies
20%). Podczas deboggowania wyszło, ze kiedy wstawię printk na początku
w funkcji write_byte(...). Problem znika.

Próbowałem już kilkanaście razy zmieniać delaye, ale nic. Jedyne co mi
jeszcze przychodzi do głowy to fakt, ze funkcje read i write nie sa
sekcjami krytycznymi. Czy to dobry trop ? Jak najlepiej jest wrzucić
sekcje krytyczna w tym przypadku ?

void write_byte(u16 address, u8 value)
{
	printk("+write_byte 0x%x <- %x \n",address,value);
	//udelay(1);

	//CRITICAL_SECTION_ENTER();
	// set adress "EBA8".."EBA4"
	ebireg1 = (ebireg1 & 0x60) | ((address >> 4) & 0x1F);		// set address
hi nibble
	// "XEBI-D*" as output (data bits)
	SoCreg(GPIO39_24_DIR) |= 0x000000FF; // GPIO39_24_DIR
'b*.****.oooo.oooo
	//  ebireg1 to be written to "XEBI-D*" (databits)
	SoCreg(GPIO39_24_DATA) = ( SoCreg(GPIO39_24_DATA) & 0xFFFFFF00 ) |
0x80 | ebireg1;
	// stobe signal U19.Pin11 = 0 ("XEBI-D7"==1);
[...]
	//CRITICAL_SECTION_LEAVE();
}

Pozdrawiam
Bartlomiej Grzeskowiak
Technical Details
Message-ID: <0c34e073-bf61-43b8-820d-e5d1634b743f@r2g2000vbj.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!postnews.google.com!r2g2000vbj.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!postnews.google.com!r2g2000vbj.googlegroups.com!not-for-mail
From: "elonica.pl" <bartlomiej.grzeskowiak@gmail.com>
Newsgroups: pl.comp.os.linux.programowanie
Subject: Problem w sterowniku 8250 - printk pomaga, brak sekcji krytycznej
Date: Thu, 27 Oct 2011 01:44:31 -0700 (PDT)
Organization: http://groups.google.com
Lines: 38
Message-ID: <0c34e073-bf61-43b8-820d-e5d1634b743f@r2g2000vbj.googlegroups.com>
NNTP-Posting-Host: 193.101.167.170
Mime-Version: 1.0
X-Trace: posting.google.com 1319705546 30623 127.0.0.1 (27 Oct 2011 08:52:26 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Thu, 27 Oct 2011 08:52:26 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: r2g2000vbj.googlegroups.com; posting-host=193.101.167.170; posting-account=8XX-bwoAAAB8TXULBSxONI_rrl5C-PTv
User-Agent: G2/1.0
X-Google-Web-Client: true
X-Google-Header-Order: HUALESNKRC
X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20110921 Ubuntu/10.04 (lucid) Firefox/3.6.23,gzip(gfe)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit