Subject: [PATCH] Freescale mpc8315 interrupt chip

From: Juergen Schindele <[email-masked]>
Date: Thu, 11 May 2017 14:34:19 +0200

Next try to submit two patches for Freescale mpc8315.

first one
-----------------------------------------------------------------------------------
powerpc/ipic: Configure "EDGE" capabilities for IRQ0 too (like IRQ1-7)
Signed-off-by: Jurgen Schindele <[email-masked]>

The external IRQ0 has the same capabilities as the other IRQ1-7 and is
handeled by the same register IPIC_SEPNR. When this register for "ack"
is not setup in "ipic_info" you can not configure this IRQ for
IRQ_TYPE_EDGE_FALLING. This is probably due to the non-continued number
of IRQ0 in the Freescale hwirq number mapping.

--- linux-4.11/arch/powerpc/sysdev/ipic.c.orig  2017-05-11 13:40:43.874801534 
+0200
+++ linux-4.11/arch/powerpc/sysdev/ipic.c       2017-05-11 14:05:06.336610289 
+0200
@@ -315,6 +315,7 @@ static struct ipic_info ipic_info[] = {
                .prio_mask = 7,
        },
        [48] = {
+               .ack    = IPIC_SEPNR,
                .mask   = IPIC_SEMSR,
                .prio   = IPIC_SMPRR_A,
                .force  = IPIC_SEFCR,

second one
-----------------------------------------------------------------------------------------
powerpc/ipic: Precise ERR printk when "ipic_set_irq_type" fails
Signed-off-by: Jurgen Schindele <[email-masked]>

When you setup an interrupt of a certain type on this interrupt-controler
which is not supported on this hardware you will get an error log but you
dont know which interrupt was the cause.
With this patch you are able to localize the source of failure.

--- linux-4.11/arch/powerpc/sysdev/ipic.c.orig  2017-05-11 14:08:07.098824986 
+0200
+++ linux-4.11/arch/powerpc/sysdev/ipic.c       2017-05-11 14:10:51.010934755 
+0200
@@ -611,14 +611,14 @@ static int ipic_set_irq_type(struct irq_
        /* ipic supports only low assertion and high-to-low change senses
         */
        if (!(flow_type & (IRQ_TYPE_LEVEL_LOW | IRQ_TYPE_EDGE_FALLING))) {
-               printk(KERN_ERR "ipic: sense type 0x%x not supported\n",
-                       flow_type);
+               printk(KERN_ERR "ipic: sense type 0x%x not supported on "
+                       "interrupt %d\n", flow_type, src);
                return -EINVAL;
        }
        /* ipic supports only edge mode on external interrupts */
        if ((flow_type & IRQ_TYPE_EDGE_FALLING) && !ipic_info[src].ack) {
                printk(KERN_ERR "ipic: edge sense not supported on internal "
-                               "interrupts\n");
+                               "interrupt %d\n", src);
                return -EINVAL;

        }

I hope i respected all patch requirements ;-)
Am Donnerstag, 4. Mai 2017, 15:55:28 schrieb Scott Wood:
> On Thu, 2017-05-04 at 17:06 +0200, Juergen Schindele wrote:
> > Am Dienstag, 2. Mai 2017, 22:29:34 schrieb Scott Wood:
> > > On Tue, 2017-05-02 at 14:43 +0200, Juergen Schindele wrote:
> > > > Dear Scott,
> > > > sorry for the delay but i am not very familiar with the formating.
> > > > I passed the patch trough checkpatch.pl and there was no more error.
> > > > pease find patch in attached file.
> > > > Thanks
> > > 
> > > Documentation/process/submitting-patches.rst explains the way to format
> > > and
> > > submit kernel patches.
> > > 
> > > Also, why the unrelated change to a print statement in
> > > ipic_set_irq_type()?
> > > 
> > > -Scott
> > 
> > The second diff is not completely unrelated because when i was
> > investigating 
> > the problem i saw only a message "edge sense not supported" but you dont
> > know on which interrupt he is complaining about. So i added this to find
> > out 
> > who the suspect is.
> 
> That's fine but it's still fixing a different problem than "irq0 setup" and
> should be a separate patch.
> 
> > Corrected patch
> 
> Again, please read Documentation/process/submitting-patches.rst.  Patches
> should be inline, not attached.  The subject line should be something like
> "powerpc/ipic: Configure "EDGE" capabilities for IRQ0 (like IRQ1-7)" and
> there should be more description in the body of the changelog.
> 
> -Scott
Thanks for your hints
-- 
i. A.
Jürgen Schindele
Softwareentwicklung

PSI Nentec GmbH
Greschbachstraße 12
76229 Karlsruhe
Deutschland
Telefon: +49 721 94249-51
Telefax: +49 721 94249-10
[email-masked]
www.nentec.de

Geschäftsführung: Klaus Becker, Wolfgang Fischer
Sitz der Gesellschaft: Karlsruhe
Handelsregister: Amtsgericht Mannheim HRB 107658

Diese E-Mail enthält vertrauliche oder rechtlich geschützte Informationen. 
Wenn Sie nicht der vorgesehene Empfänger sind, informieren Sie bitte sofort 
den Absender und löschen Sie diese E-Mail. Das unbefugte Kopieren dieser E-
Mail oder die unbefugte Weitergabe der enthaltenen Informationen ist nicht 
gestattet.

The information contained in this message is confidential or protected by law. 
If you are not the intended recipient, please contact the sender and delete 
this message. Any unauthorised copying of this message or unauthorised 
distribution of the information contained herein is prohibited.