Ubuntu 12.04: irqpoll führt zu ruckelndem System

Aahh.. jetzt wo ich mir den Patch ansehe: GENAU das habe ich schonmal gemacht... nur dann lief die Karte mal ohne patchen, weshalb ich das aussen vor gelassen habe.

Ich teste das mal und melde mich dann zurück.

Vielen VIELEN dank dir, wenn das funktioniert :P
 
DHMH schrieb:
nur dann lief die Karte mal ohne patchen, weshalb ich das aussen vor gelassen habe.

Das hängt von deinem Kernel ab. Du sagst, du verwendest den Mainline, der ist quasi blank ;) Es kann durchaus sein, dass du mal einen Kernel hattest, in den dieser Patch eingeflossen ist.
 
Die Karte läuft sowohl mit dem Mainline, als auch mit dem jetzigen.. daher hatte ich den Patch nicht mehr angewandt.. ich guck mal den Linuxtv.org Trainer an
Ergänzung ()

Hab jetzt geguckt:
Code:
#define SUBID_DVBC_KNC1_TDA10024        0x0028
Dieser Schipsel ist bereits drin, also kann es daran nicht liegen...
 
Das erklärt, wieso ich die Zeile nicht gefunden habe :) Hatte vorher nochmal in den Quellen geschaut, weil ich wissen wollte, ob es überhaupt noch aktuell ist, sorry.

Dennoch, was mir eben aufgefallen ist. Ich weiß nicht, ob der MK4 und dieser TDA10024 identisch sind. Der Patch, den ich dir gepostet habe, verwendet zumindest eine andere Extension

Patch:
Code:
MAKE_EXTENSION_PCI(knc1cmk3, 0x1894, 0x0028),

Mainline:
Code:
MAKE_EXTENSION_PCI(knc1ctda10024, 0x1894, 0x0028),

Evtl. ein Versuch wert ;)
 
Also austauschen, wegen der Hex-Adressen?
Oder einfach drunterklatschen?

Aber trotzdem geht ja die TV Karte - bis eben diese Interrupts auftreten, die nicht mehr gehandelt werden.
 
DHMH schrieb:
Also austauschen, wegen der Hex-Adressen?
Oder einfach drunterklatschen?

Aber trotzdem geht ja die TV Karte - bis eben diese Interrupts auftreten, die nicht mehr gehandelt werden.

Also funktioniert sie nicht richtig ;)
Die Zeile hinzufügen wird nicht funktionieren. Was du versuchen kannst (zumindest würde ich es versuchen ;)) das "knc1ctda10024" durch "knc1cmk3" zu ersetzen. (steinigt mich ruhig dafür ;))
 
Dann nehme ich an, ich soll auch die anderen Zeilen (das Switch, als auch das #define) austauschen - werde ich mal machen.

Mal sehen *daumen drück*
 
DHMH schrieb:
Dann nehme ich an, ich soll auch die anderen Zeilen (das Switch, als auch das #define) austauschen - werde ich mal machen.

Mal sehen *daumen drück*

Kannst du der Vollständigkeit halber tun, ist aber nicht zwingend notwendig, da geht es nur um einen Namen, der Wert ist wichtiger.
Ergänzung ()

Ich glaub, du kannst dir die Arbeit sparen. Ich habe grade den Patch gefunden, der in den Kernel eingeflossen ist.

Code:
From patchwork Thu Jul 28 11:04:33 2011
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: Add support for new revision of KNC 1 DVB-C cards. Using tda10024
	instead of tda10023, which is compatible to tda10023 driver.
Date: Thu, 28 Jul 2011 10:04:33 -0000
From: Julian Scheel <julian@jusst.de>
X-Patchwork-Id: 7499
Message-Id: <1311851073-6558-1-git-send-email-julian@jusst.de>
To: linux-media@vger.kernel.org
Cc: Julian Scheel <julian@jusst.de>

Signed-off-by: Julian Scheel <julian@jusst.de>

---
drivers/media/dvb/ttpci/budget-av.c   |    4 ++++
 drivers/media/dvb/ttpci/budget-core.c |    2 ++
 drivers/media/dvb/ttpci/budget.h      |    1 +
 3 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/drivers/media/dvb/ttpci/budget-av.c b/drivers/media/dvb/ttpci/budget-av.c
index e957d76..5b28bc6 100644
--- a/drivers/media/dvb/ttpci/budget-av.c
+++ b/drivers/media/dvb/ttpci/budget-av.c
@@ -1197,6 +1197,7 @@ static u8 read_pwm(struct budget_av *budget_av)
 #define SUBID_DVBC_KNC1			0x0020
 #define SUBID_DVBC_KNC1_PLUS		0x0021
 #define SUBID_DVBC_KNC1_MK3		0x0022
+#define SUBID_DVBC_KNC1_TDA10024	0x0028
 #define SUBID_DVBC_KNC1_PLUS_MK3	0x0023
 #define SUBID_DVBC_CINERGY1200		0x1156
 #define SUBID_DVBC_CINERGY1200_MK3	0x1176
@@ -1316,6 +1317,7 @@ static void frontend_init(struct budget_av *budget_av)
 	case SUBID_DVBC_EASYWATCH_MK3:
 	case SUBID_DVBC_CINERGY1200_MK3:
 	case SUBID_DVBC_KNC1_MK3:
+	case SUBID_DVBC_KNC1_TDA10024:
 	case SUBID_DVBC_KNC1_PLUS_MK3:
 		budget_av->reinitialise_demod = 1;
 		budget_av->budget.dev->i2c_bitrate = SAA7146_I2C_BUS_BIT_RATE_240;
@@ -1558,6 +1560,7 @@ MAKE_BUDGET_INFO(knc1sp, "KNC1 DVB-S Plus", BUDGET_KNC1SP);
 MAKE_BUDGET_INFO(knc1spx4, "KNC1 DVB-S Plus X4", BUDGET_KNC1SP);
 MAKE_BUDGET_INFO(knc1cp, "KNC1 DVB-C Plus", BUDGET_KNC1CP);
 MAKE_BUDGET_INFO(knc1cmk3, "KNC1 DVB-C MK3", BUDGET_KNC1C_MK3);
+MAKE_BUDGET_INFO(knc1ctda10024, "KNC1 DVB-C TDA10024", BUDGET_KNC1C_TDA10024);
 MAKE_BUDGET_INFO(knc1cpmk3, "KNC1 DVB-C Plus MK3", BUDGET_KNC1CP_MK3);
 MAKE_BUDGET_INFO(knc1tp, "KNC1 DVB-T Plus", BUDGET_KNC1TP);
 MAKE_BUDGET_INFO(cin1200s, "TerraTec Cinergy 1200 DVB-S", BUDGET_CIN1200S);
@@ -1587,6 +1590,7 @@ static struct pci_device_id pci_tbl[] = {
 	MAKE_EXTENSION_PCI(knc1c, 0x1894, 0x0020),
 	MAKE_EXTENSION_PCI(knc1cp, 0x1894, 0x0021),
 	MAKE_EXTENSION_PCI(knc1cmk3, 0x1894, 0x0022),
+	MAKE_EXTENSION_PCI(knc1ctda10024, 0x1894, 0x0028),
 	MAKE_EXTENSION_PCI(knc1cpmk3, 0x1894, 0x0023),
 	MAKE_EXTENSION_PCI(knc1t, 0x1894, 0x0030),
 	MAKE_EXTENSION_PCI(knc1tp, 0x1894, 0x0031),
diff --git a/drivers/media/dvb/ttpci/budget-core.c b/drivers/media/dvb/ttpci/budget-core.c
index 37666d4..37d02fe 100644
--- a/drivers/media/dvb/ttpci/budget-core.c
+++ b/drivers/media/dvb/ttpci/budget-core.c
@@ -110,6 +110,7 @@ static int start_ts_capture(struct budget *budget)
 		break;
 	case BUDGET_CIN1200C_MK3:
 	case BUDGET_KNC1C_MK3:
+	case BUDGET_KNC1C_TDA10024:
 	case BUDGET_KNC1CP_MK3:
 		if (budget->video_port == BUDGET_VIDEO_PORTA) {
 			saa7146_write(dev, DD1_INIT, 0x06000200);
@@ -434,6 +435,7 @@ int ttpci_budget_init(struct budget *budget, struct saa7146_dev *dev,
 	case BUDGET_KNC1CP:
 	case BUDGET_CIN1200C:
 	case BUDGET_KNC1C_MK3:
+	case BUDGET_KNC1C_TDA10024:
 	case BUDGET_KNC1CP_MK3:
 	case BUDGET_CIN1200C_MK3:
 		budget->buffer_width = TS_WIDTH_DVBC;
diff --git a/drivers/media/dvb/ttpci/budget.h b/drivers/media/dvb/ttpci/budget.h
index 3ad0c67..3d8a806 100644
--- a/drivers/media/dvb/ttpci/budget.h
+++ b/drivers/media/dvb/ttpci/budget.h
@@ -104,6 +104,7 @@ static struct saa7146_pci_extension_data x_var = { \
 #define BUDGET_KNC1C_MK3	   16
 #define BUDGET_KNC1CP_MK3	   17
 #define BUDGET_KNC1S2              18
+#define BUDGET_KNC1C_TDA10024	   19
 
 #define BUDGET_VIDEO_PORTA         0
 #define BUDGET_VIDEO_PORTB         1

Du wirst Probleme bekommen, wenn du nur das Modul bearbeitest. Laut Google Autor ist dieser TDA10024 eine neue Revision vom TDA10023. Allerdings kann ich dir nicht sagen, ob es sich dabei um den ehemals MK4 handelt.
Evtl. kann dir jemand anderes da weiterhelfen.
 
Zuletzt bearbeitet:
Jetzt ists schon zu spät und der HTPC bootet nicht mehr xD dann muss ich morgen mal händisch den Treiber entfernen und dann den Kernel neuinstallieren..

ist echt doof, dass Irqpoll "rumruckelt" :/
 
DHMH schrieb:
Jetzt ists schon zu spät und der HTPC bootet nicht mehr xD dann muss ich morgen mal händisch den Treiber entfernen und dann den Kernel neuinstallieren..

ist echt doof, dass Irqpoll "rumruckelt" :/

Sag bitte nicht, dass du keinen alternativen Kernel installiert hast und immer den aktuell eingesetzten überschreibst :D
 
:D *duckundweg*

Macht doch nix ^^ wofür hat man denn live cds xD

Ja, hast recht, habe ich nicht - mache ich in Zukunft. Danke für den Tipp.
 
Na gut, wir einigen uns auf Teilschuld, weil ich dich zu so einem Unfug animiert habe ;)
 
So, er läuft jetzt wieder :)
Aber was kann ich denn jetzt machen - ich weiß, dass ich das ja schonmal hatte und durch diverse Kernelparameter (neben irqpoll) das Ruckeln und mit irqpoll das Problem mit dem Interrupt beheben konnte..
 
Zurück
Oben