)]}'
{
  "log": [
    {
      "commit": "266d028acb615e1766c3fb9530c9e86de8476a33",
      "tree": "5f8beaee529761b26ee858d91a8ee9262a80264d",
      "parents": [
        "d0a48c9f4c4582a966ce6426c1bf8ef1e37e63ee"
      ],
      "author": {
        "name": "Valentine Barshak",
        "email": "vbarshak@ru.mvista.com",
        "time": "Thu Mar 06 05:38:04 2008 +1100"
      },
      "committer": {
        "name": "Josh Boyer",
        "email": "jwboyer@linux.vnet.ibm.com",
        "time": "Wed Mar 26 07:20:38 2008 -0500"
      },
      "message": "[POWERPC] 4xx: Add dcri_clrset() for locked read/modify/write functionality\n\nThis adds dcri_clrset() macro which does read/modify/write\non indirect dcr registers while holding indirect dcr lock.\n\nSigned-off-by: Valentine Barshak \u003cvbarshak@ru.mvista.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Josh Boyer \u003cjwboyer@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "e8318d98e95ddd3969c0701b5d15ec961ce786b2",
      "tree": "f395df1ecab6962ece80b9082d0b953e55c9273a",
      "parents": [
        "853265e588153dca22c82b84df39bbb40abd7ad0"
      ],
      "author": {
        "name": "Valentine Barshak",
        "email": "vbarshak@ru.mvista.com",
        "time": "Wed Feb 06 05:36:49 2008 +1100"
      },
      "committer": {
        "name": "Josh Boyer",
        "email": "jwboyer@linux.vnet.ibm.com",
        "time": "Wed Feb 06 21:02:57 2008 -0600"
      },
      "message": "[POWERPC] 4xx: PCIe indirect DCR spinlock fix.\n\nSince we have mfdcri() and mtdcri() as macros, we can\u0027t use constructions,\nsuch as \"mtdcri(base, reg, mfdcri(base, reg) | val)\".  In this case the\nmfdcri() stuff is not evaluated first.  It\u0027s evaluated inside the mtdcri()\nmacro and we have the dcr_ind_lock spinlock acquired twice.\n\nTo avoid this error, I\u0027ve added __mfdcri()/__mtdcri() inline functions that\ntake the lock after register name fix-up.\n\nSigned-off-by: Valentine Barshak \u003cvbarshak@ru.mvista.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Josh Boyer \u003cjwboyer@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "0e6140a56f2878816ecf9db50f40133d25d987e4",
      "tree": "672b1af7086bcb712839756fb31f6d662525ab54",
      "parents": [
        "47c0bd1ae24c34e851cf0f2b02ef2a6847d7ae15"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Dec 21 15:39:22 2007 +1100"
      },
      "committer": {
        "name": "Josh Boyer",
        "email": "jwboyer@linux.vnet.ibm.com",
        "time": "Sun Dec 23 13:12:11 2007 -0600"
      },
      "message": "[POWERPC] 4xx: Improve support for 4xx indirect DCRs\n\nAccessing indirect DCRs is done via a pair of address/data DCRs.\n\nSuch accesses are thus inherently racy, vs. interrupts, preemption\nand possibly SMP if 4xx SMP cores are ever used.\n\nThis updates the mfdcri/mtdcri macros in dcr-native.h (which were\nso far unused) to use a spinlock.\n\nIn addition, add some common definitions to a new dcr-regs.h file.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Josh Boyer \u003cjwboyer@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "cdbd3865acc2e98a349b41d130985e6f5f2dfc19",
      "tree": "8df0ce10364d82c205ed6ec7d8ab9af9a2fe2989",
      "parents": [
        "83f34df4e7c8794a5a81ede663fe184f4201308a"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Mon Oct 15 19:34:37 2007 +1000"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Oct 15 14:29:49 2007 -0400"
      },
      "message": "Use dcr_host_t.base in dcr_unmap()\n\nWith the base stored in dcr_host_t, there\u0027s no need for callers to pass\nthe dcr_n into dcr_unmap(). In fact this removes the possibility of them\npassing the incorrect value, which would then be iounmap()\u0027ed.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "83f34df4e7c8794a5a81ede663fe184f4201308a",
      "tree": "c109c113ee02c5d656cd1b211ba2bc67d5dfd270",
      "parents": [
        "0f18e719dc0d36ad91fe94b0b3dd08fdcdd2faa2"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Mon Oct 15 19:34:36 2007 +1000"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Oct 15 14:29:49 2007 -0400"
      },
      "message": "Add dcr_host_t.base in dcr_read()/dcr_write()\n\nNow that all users of dcr_read()/dcr_write() add the dcr_host_t.base, we\ncan save them the trouble and do it in dcr_read()/dcr_write().\n\nAs some background to why we just went through all this jiggery-pokery,\nbenh sayeth:\n\n Initially the goal of the dcr_read/dcr_write routines was to operate like\n mfdcr/mtdcr which take absolute DCR numbers. The reason is that on 4xx\n hardware, indirect DCR access is a pain (goes through a table of\n instructions) and it\u0027s useful to have the compiler resolve an absolute DCR\n inline.\n\n We decided that wasn\u0027t worth the API bastardisation since most places\n where absolute DCR values are used are low level 4xx-only code which may\n as well continue using mfdcr/mtdcr, while the new API is designed for\n device \"instances\" that can exist on 4xx and Axon type platforms and may\n be located at variable DCR offsets.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "0b94a1eeeeb3542d046b928ca01fcd4bf0ea7587",
      "tree": "04ada4951ef2a386d16f00d06bd78a4ce04ff65a",
      "parents": [
        "ca786f83a97d7897b013b1e9b290c9010b69af9b"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Mon Sep 17 16:05:00 2007 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Oct 03 13:25:27 2007 +1000"
      },
      "message": "[POWERPC] Store the base address in dcr_host_t\n\nIn its current form, dcr_map() doesn\u0027t remember the base address you passed\nit, which means you need to store it somewhere else.  Rather than adding the\nbase to another struct it seems simpler to store it in the dcr_host_t.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "c91ef5986185c044a853d990670e3f7ce22f2991",
      "tree": "3c9bceefcbbbc520d00dab2e54766beded2aa181",
      "parents": [
        "087d7ecd5273b480d13f4309a159842700afe276"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Thu Feb 15 14:38:04 2007 +1100"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Fri Feb 16 14:00:19 2007 +1100"
      },
      "message": "[POWERPC] More DCR native fixups\n\nGetting BenH\u0027s new EMAC driver working on 440GP, I found some more\nproblems in the native mode paths of the new DCR code:\n\t- dcr_map() is supposed to return a dcr_host_t, but the native\nversion is a macro that doesn\u0027t expand to an expression.  With native\nDCRs, dcr_host_t is an empty structure, so we just use a constructor\nexpression instead.\n\t- dcr_unmap() uses {} instead of the safer do {} while (0)\nidiom to implement a no-op\n\nHere\u0027s a fix.\n\nSigned-off-by: David Gibson \u003cdwg@au1.ibm.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "45d8e7aaf47668550fdb6c2d3abbe42f48a76df2",
      "tree": "6884852ff83c8c8b7d09883783587e1db43ca9d4",
      "parents": [
        "c99767974ebd2a719d849fdeaaa1674456f5283f"
      ],
      "author": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Sun Dec 10 23:15:47 2006 -0600"
      },
      "committer": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Sun Dec 10 23:15:47 2006 -0600"
      },
      "message": "[POWERPC] Only export __mtdcr/__mfdcr if CONFIG_PPC_DCR is set\n\nOn 85xx we don\u0027t build in dcr support because the core doesn\u0027t implement the\ninstructions.  This caused problems when building an 85xx kernel.  Additionally\nmade it so we only build __mtdcr/__mfdcr if we are CONFIG_PPC_DCR_NATIVE.\n\nThe 85xx build issue wasPointed out by Dai Haruki.\n\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "4c75a6f441cdd1c69a6c173bc7944e12c2ba6f84",
      "tree": "260e01e5cbd46d335a3d44b60c34dee51e053774",
      "parents": [
        "69108cf00679716bcab58acb3135390654c5bb99"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sat Nov 11 17:24:53 2006 +1100"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Dec 04 16:08:25 2006 +1100"
      },
      "message": "[POWERPC] Generic DCR infrastructure\n\nThis patch adds new dcr_map/dcr_read/dcr_write accessors for DCRs that\ncan be used by drivers to transparently address either native DCRs or\nmemory mapped DCRs. The implementation for memory mapped DCRs is done\nafter the binding being currently worked on for SLOF and the Axon\nchipset. This patch enables it for the cell native platform\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    }
  ]
}
