Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Feb 2016 07:16:25 +0000
From:      "Sgalabov_gmail.com (Stanislav Galabov)" <phabric-noreply@FreeBSD.org>
To:        freebsd-mips@freebsd.org
Subject:   [Differential] [Request, 11 lines] D5183: Proper attachment for MIPS ticker when using INTRNG
Message-ID:  <differential-rev-PHID-DREV-m73iatsu5iop4g4gyz2t-req@FreeBSD.org>

index | next in thread | raw e-mail

[-- Attachment #1 --]
Sgalabov_gmail.com created this revision.
Sgalabov_gmail.com added reviewers: MIPS, adrian, kan.
Sgalabov_gmail.com added a subscriber: freebsd-mips-list.
Sgalabov_gmail.com set the repository for this revision to rS FreeBSD src repository.
Sgalabov_gmail.com added a project: MIPS.
Herald added a subscriber: imp.

REVISION SUMMARY
  This patch allows the MIPS ticker to attach itself properly when using INTRNG

REPOSITORY
  rS FreeBSD src repository

REVISION DETAIL
  https://reviews.freebsd.org/D5183

AFFECTED FILES
  sys/mips/mips/tick.c

CHANGE DETAILS
  diff --git a/sys/mips/mips/tick.c
 b/sys/mips/mips/tick.c
  --- a/sys/mips/mips/tick.c
  +++ b/sys/mips/mips/tick.c
  @@ -51,6 +51,10 @@
   #include <machine/locore.h>
   #include <machine/md_var.h>
   
  +#ifdef MIPS_INTRNG
  +#include <machine/intr.h>
  +#endif
  +
   uint64_t counter_freq;
   
   struct timecounter *platform_timecounter;
  @@ -324,12 +328,18 @@
   clock_attach(device_t dev)
   {
   	struct clock_softc *sc;
  +#ifndef MIPS_INTRNG
   	int error;
  +#endif
   
   	if (device_get_unit(dev) != 0)
   		panic("can't attach more clocks");
   
   	softc = sc = device_get_softc(dev);
  +#ifdef MIPS_INTRNG
  +	cpu_establish_hardintr("clock", clock_intr, NULL, sc, 5, INTR_TYPE_CLK,
  +	    NULL);
  +#else
   	sc->intr_rid = 0;
   	sc->intr_res = bus_alloc_resource(dev,
   	    SYS_RES_IRQ, &sc->intr_rid, 5, 5, 1, RF_ACTIVE);
  @@ -343,6 +353,7 @@
   		device_printf(dev, "bus_setup_intr returned %d\n", error);
   		return (error);
   	}
  +#endif
   
   	sc->tc.tc_get_timecount = counter_get_timecount;
   	sc->tc.tc_counter_mask = 0xffffffff;

EMAIL PREFERENCES
  https://reviews.freebsd.org/settings/panel/emailpreferences/

To: Sgalabov_gmail.com, MIPS, adrian, kan
Cc: imp, freebsd-mips-list

[-- Attachment #2 --]
diff --git a/sys/mips/mips/tick.c
 b/sys/mips/mips/tick.c
--- a/sys/mips/mips/tick.c
+++ b/sys/mips/mips/tick.c
@@ -51,6 +51,10 @@
 #include <machine/locore.h>
 #include <machine/md_var.h>
 
+#ifdef MIPS_INTRNG
+#include <machine/intr.h>
+#endif
+
 uint64_t counter_freq;
 
 struct timecounter *platform_timecounter;
@@ -324,12 +328,18 @@
 clock_attach(device_t dev)
 {
 	struct clock_softc *sc;
+#ifndef MIPS_INTRNG
 	int error;
+#endif
 
 	if (device_get_unit(dev) != 0)
 		panic("can't attach more clocks");
 
 	softc = sc = device_get_softc(dev);
+#ifdef MIPS_INTRNG
+	cpu_establish_hardintr("clock", clock_intr, NULL, sc, 5, INTR_TYPE_CLK,
+	    NULL);
+#else
 	sc->intr_rid = 0;
 	sc->intr_res = bus_alloc_resource(dev,
 	    SYS_RES_IRQ, &sc->intr_rid, 5, 5, 1, RF_ACTIVE);
@@ -343,6 +353,7 @@
 		device_printf(dev, "bus_setup_intr returned %d\n", error);
 		return (error);
 	}
+#endif
 
 	sc->tc.tc_get_timecount = counter_get_timecount;
 	sc->tc.tc_counter_mask = 0xffffffff;

help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?differential-rev-PHID-DREV-m73iatsu5iop4g4gyz2t-req>