Re: [PATCH 10/13] ocxl: Add Makefile and Kconfig

2018-01-10 Thread Frederic Barrat



Le 10/01/2018 à 00:21, Michael Ellerman a écrit :

Would also be great to add something describing the relationship to CAPI and 
cxl. Otherwise people will be confused about whether they need this one or the 
other one or both.


OK, I'll add something.

  Fred



Re: [PATCH 10/13] ocxl: Add Makefile and Kconfig

2018-01-10 Thread Frederic Barrat



Le 10/01/2018 à 00:21, Michael Ellerman a écrit :

Would also be great to add something describing the relationship to CAPI and 
cxl. Otherwise people will be confused about whether they need this one or the 
other one or both.


OK, I'll add something.

  Fred



Re: [PATCH 10/13] ocxl: Add Makefile and Kconfig

2018-01-09 Thread Michael Ellerman


On 10 January 2018 2:45:56 am AEDT, Frederic Barrat 
 wrote:
>
>
>Le 03/01/2018 à 06:48, Andrew Donnellan a écrit :
>> On 19/12/17 02:21, Frederic Barrat wrote:
>>> OCXL_BASE triggers the platform support needed by the driver.
>>>
>>> Signed-off-by: Frederic Barrat 
>>> ---
>>>   drivers/misc/Kconfig   |  1 +
>>>   drivers/misc/Makefile  |  1 +
>>>   drivers/misc/ocxl/Kconfig  | 25 +
>>>   drivers/misc/ocxl/Makefile | 10 ++
>>>   4 files changed, 37 insertions(+)
>>>   create mode 100644 drivers/misc/ocxl/Kconfig
>>>   create mode 100644 drivers/misc/ocxl/Makefile
>>>
>>> diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
>>> index f1a5c2357b14..0534f338c84a 100644
>>> --- a/drivers/misc/Kconfig
>>> +++ b/drivers/misc/Kconfig
>>> @@ -508,4 +508,5 @@ source "drivers/misc/mic/Kconfig"
>>>   source "drivers/misc/genwqe/Kconfig"
>>>   source "drivers/misc/echo/Kconfig"
>>>   source "drivers/misc/cxl/Kconfig"
>>> +source "drivers/misc/ocxl/Kconfig"
>>>   endmenu
>>> diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
>>> index 5ca5f64df478..73326d54e246 100644
>>> --- a/drivers/misc/Makefile
>>> +++ b/drivers/misc/Makefile
>>> @@ -55,6 +55,7 @@ obj-$(CONFIG_CXL_BASE)    += cxl/
>>>   obj-$(CONFIG_ASPEED_LPC_CTRL)    += aspeed-lpc-ctrl.o
>>>   obj-$(CONFIG_ASPEED_LPC_SNOOP)    += aspeed-lpc-snoop.o
>>>   obj-$(CONFIG_PCI_ENDPOINT_TEST)    += pci_endpoint_test.o
>>> +obj-$(CONFIG_OCXL)    += ocxl/
>>>
>>>   lkdtm-$(CONFIG_LKDTM)    += lkdtm_core.o
>>>   lkdtm-$(CONFIG_LKDTM)    += lkdtm_bugs.o
>>> diff --git a/drivers/misc/ocxl/Kconfig b/drivers/misc/ocxl/Kconfig
>>> new file mode 100644
>>> index ..4496b61f48db
>>> --- /dev/null
>>> +++ b/drivers/misc/ocxl/Kconfig
>>> @@ -0,0 +1,25 @@
>>> +#
>>> +# Open Coherent Accelerator (OCXL) compatible devices
>>> +#
>>> +
>>> +config OCXL_BASE
>>> +    bool
>>> +    default n
>>> +    select PPC_COPRO_BASE
>>> +
>>> +config OCXL
>>> +    tristate "Support for Open Coherent Accelerators (OCXL)"
>>> +    depends on PPC_POWERNV && PCI && EEH
>>> +    select OCXL_BASE
>>> +    default m
>>> +    help
>>> +
>>> +  Select this option to enable driver support for Open
>>> +  Coherent Accelerators (OCXL).  OCXL is otherwise known as
>>> +  Open Coherent Accelerator Processor Interface (OCAPI).
>>> +  OCAPI allows accelerators in FPGAs to be coherently attached
>>> +  to a CPU through a Open CAPI link.  This driver enables
>>> +  userspace programs to access these accelerators through
>>> +  devices found in /dev/ocxl/
>> 
>> I'd prefer more consistency in how we refer to OpenCAPI. "ocxl" is a 
>> driver name that we have purely for historical reasons, it's not
>really 
>> the name of anything else. I know throughout the various specs and
>code, 
>> we use "OCAPI" a lot, but that's not really an abbreviation that
>should 
>> be "user-facing".
>> 
>> Something like:
>> 
>> config OCXL
>>   tristate "OpenCAPI coherent accelerator support"
>>   help
>> 
>>     Select this option to enable the ocxl driver for Open
>Coherent
>>     Accelerator Processor Interface (OpenCAPI) devices.
>> 
>>     OpenCAPI allows FPGA and ASIC accelerators to be coherently
>>     attached to a CPU over an OpenCAPI link.
>> 
>>     The ocxl driver enables userspace programs to access these
>>     accelerators through devices in /dev/ocxl/.
>> 
>>     For more information, see http://opencapi.org.
>> 
>>     If unsure, say N.
>> 
>
>Agreed, and stolen.

Would also be great to add something describing the relationship to CAPI and 
cxl. Otherwise people will be confused about whether they need this one or the 
other one or both.

cheers
-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.


Re: [PATCH 10/13] ocxl: Add Makefile and Kconfig

2018-01-09 Thread Michael Ellerman


On 10 January 2018 2:45:56 am AEDT, Frederic Barrat 
 wrote:
>
>
>Le 03/01/2018 à 06:48, Andrew Donnellan a écrit :
>> On 19/12/17 02:21, Frederic Barrat wrote:
>>> OCXL_BASE triggers the platform support needed by the driver.
>>>
>>> Signed-off-by: Frederic Barrat 
>>> ---
>>>   drivers/misc/Kconfig   |  1 +
>>>   drivers/misc/Makefile  |  1 +
>>>   drivers/misc/ocxl/Kconfig  | 25 +
>>>   drivers/misc/ocxl/Makefile | 10 ++
>>>   4 files changed, 37 insertions(+)
>>>   create mode 100644 drivers/misc/ocxl/Kconfig
>>>   create mode 100644 drivers/misc/ocxl/Makefile
>>>
>>> diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
>>> index f1a5c2357b14..0534f338c84a 100644
>>> --- a/drivers/misc/Kconfig
>>> +++ b/drivers/misc/Kconfig
>>> @@ -508,4 +508,5 @@ source "drivers/misc/mic/Kconfig"
>>>   source "drivers/misc/genwqe/Kconfig"
>>>   source "drivers/misc/echo/Kconfig"
>>>   source "drivers/misc/cxl/Kconfig"
>>> +source "drivers/misc/ocxl/Kconfig"
>>>   endmenu
>>> diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
>>> index 5ca5f64df478..73326d54e246 100644
>>> --- a/drivers/misc/Makefile
>>> +++ b/drivers/misc/Makefile
>>> @@ -55,6 +55,7 @@ obj-$(CONFIG_CXL_BASE)    += cxl/
>>>   obj-$(CONFIG_ASPEED_LPC_CTRL)    += aspeed-lpc-ctrl.o
>>>   obj-$(CONFIG_ASPEED_LPC_SNOOP)    += aspeed-lpc-snoop.o
>>>   obj-$(CONFIG_PCI_ENDPOINT_TEST)    += pci_endpoint_test.o
>>> +obj-$(CONFIG_OCXL)    += ocxl/
>>>
>>>   lkdtm-$(CONFIG_LKDTM)    += lkdtm_core.o
>>>   lkdtm-$(CONFIG_LKDTM)    += lkdtm_bugs.o
>>> diff --git a/drivers/misc/ocxl/Kconfig b/drivers/misc/ocxl/Kconfig
>>> new file mode 100644
>>> index ..4496b61f48db
>>> --- /dev/null
>>> +++ b/drivers/misc/ocxl/Kconfig
>>> @@ -0,0 +1,25 @@
>>> +#
>>> +# Open Coherent Accelerator (OCXL) compatible devices
>>> +#
>>> +
>>> +config OCXL_BASE
>>> +    bool
>>> +    default n
>>> +    select PPC_COPRO_BASE
>>> +
>>> +config OCXL
>>> +    tristate "Support for Open Coherent Accelerators (OCXL)"
>>> +    depends on PPC_POWERNV && PCI && EEH
>>> +    select OCXL_BASE
>>> +    default m
>>> +    help
>>> +
>>> +  Select this option to enable driver support for Open
>>> +  Coherent Accelerators (OCXL).  OCXL is otherwise known as
>>> +  Open Coherent Accelerator Processor Interface (OCAPI).
>>> +  OCAPI allows accelerators in FPGAs to be coherently attached
>>> +  to a CPU through a Open CAPI link.  This driver enables
>>> +  userspace programs to access these accelerators through
>>> +  devices found in /dev/ocxl/
>> 
>> I'd prefer more consistency in how we refer to OpenCAPI. "ocxl" is a 
>> driver name that we have purely for historical reasons, it's not
>really 
>> the name of anything else. I know throughout the various specs and
>code, 
>> we use "OCAPI" a lot, but that's not really an abbreviation that
>should 
>> be "user-facing".
>> 
>> Something like:
>> 
>> config OCXL
>>   tristate "OpenCAPI coherent accelerator support"
>>   help
>> 
>>     Select this option to enable the ocxl driver for Open
>Coherent
>>     Accelerator Processor Interface (OpenCAPI) devices.
>> 
>>     OpenCAPI allows FPGA and ASIC accelerators to be coherently
>>     attached to a CPU over an OpenCAPI link.
>> 
>>     The ocxl driver enables userspace programs to access these
>>     accelerators through devices in /dev/ocxl/.
>> 
>>     For more information, see http://opencapi.org.
>> 
>>     If unsure, say N.
>> 
>
>Agreed, and stolen.

Would also be great to add something describing the relationship to CAPI and 
cxl. Otherwise people will be confused about whether they need this one or the 
other one or both.

cheers
-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.


Re: [PATCH 10/13] ocxl: Add Makefile and Kconfig

2018-01-09 Thread Frederic Barrat



Le 03/01/2018 à 06:48, Andrew Donnellan a écrit :

On 19/12/17 02:21, Frederic Barrat wrote:

OCXL_BASE triggers the platform support needed by the driver.

Signed-off-by: Frederic Barrat 
---
  drivers/misc/Kconfig   |  1 +
  drivers/misc/Makefile  |  1 +
  drivers/misc/ocxl/Kconfig  | 25 +
  drivers/misc/ocxl/Makefile | 10 ++
  4 files changed, 37 insertions(+)
  create mode 100644 drivers/misc/ocxl/Kconfig
  create mode 100644 drivers/misc/ocxl/Makefile

diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index f1a5c2357b14..0534f338c84a 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -508,4 +508,5 @@ source "drivers/misc/mic/Kconfig"
  source "drivers/misc/genwqe/Kconfig"
  source "drivers/misc/echo/Kconfig"
  source "drivers/misc/cxl/Kconfig"
+source "drivers/misc/ocxl/Kconfig"
  endmenu
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index 5ca5f64df478..73326d54e246 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -55,6 +55,7 @@ obj-$(CONFIG_CXL_BASE)    += cxl/
  obj-$(CONFIG_ASPEED_LPC_CTRL)    += aspeed-lpc-ctrl.o
  obj-$(CONFIG_ASPEED_LPC_SNOOP)    += aspeed-lpc-snoop.o
  obj-$(CONFIG_PCI_ENDPOINT_TEST)    += pci_endpoint_test.o
+obj-$(CONFIG_OCXL)    += ocxl/

  lkdtm-$(CONFIG_LKDTM)    += lkdtm_core.o
  lkdtm-$(CONFIG_LKDTM)    += lkdtm_bugs.o
diff --git a/drivers/misc/ocxl/Kconfig b/drivers/misc/ocxl/Kconfig
new file mode 100644
index ..4496b61f48db
--- /dev/null
+++ b/drivers/misc/ocxl/Kconfig
@@ -0,0 +1,25 @@
+#
+# Open Coherent Accelerator (OCXL) compatible devices
+#
+
+config OCXL_BASE
+    bool
+    default n
+    select PPC_COPRO_BASE
+
+config OCXL
+    tristate "Support for Open Coherent Accelerators (OCXL)"
+    depends on PPC_POWERNV && PCI && EEH
+    select OCXL_BASE
+    default m
+    help
+
+  Select this option to enable driver support for Open
+  Coherent Accelerators (OCXL).  OCXL is otherwise known as
+  Open Coherent Accelerator Processor Interface (OCAPI).
+  OCAPI allows accelerators in FPGAs to be coherently attached
+  to a CPU through a Open CAPI link.  This driver enables
+  userspace programs to access these accelerators through
+  devices found in /dev/ocxl/


I'd prefer more consistency in how we refer to OpenCAPI. "ocxl" is a 
driver name that we have purely for historical reasons, it's not really 
the name of anything else. I know throughout the various specs and code, 
we use "OCAPI" a lot, but that's not really an abbreviation that should 
be "user-facing".


Something like:

config OCXL
  tristate "OpenCAPI coherent accelerator support"
  help

    Select this option to enable the ocxl driver for Open Coherent
    Accelerator Processor Interface (OpenCAPI) devices.

    OpenCAPI allows FPGA and ASIC accelerators to be coherently
    attached to a CPU over an OpenCAPI link.

    The ocxl driver enables userspace programs to access these
    accelerators through devices in /dev/ocxl/.

    For more information, see http://opencapi.org.

    If unsure, say N.



Agreed, and stolen.

  Fred



+
+  If unsure, say N.
diff --git a/drivers/misc/ocxl/Makefile b/drivers/misc/ocxl/Makefile
new file mode 100644
index ..f75853411cfd
--- /dev/null
+++ b/drivers/misc/ocxl/Makefile
@@ -0,0 +1,10 @@
+ccflags-$(CONFIG_PPC_WERROR)    += -Werror
+
+ocxl-y    += main.o pci.o config.o file.o pasid.o
+ocxl-y    += link.o context.o afu_irq.o sysfs.o trace.o
+obj-$(CONFIG_OCXL)    += ocxl.o
+
+# For tracepoints to include our trace.h from tracepoint infrastructure:
+CFLAGS_trace.o := -I$(src)
+
+# ccflags-y += -DDEBUG







Re: [PATCH 10/13] ocxl: Add Makefile and Kconfig

2018-01-09 Thread Frederic Barrat



Le 03/01/2018 à 06:48, Andrew Donnellan a écrit :

On 19/12/17 02:21, Frederic Barrat wrote:

OCXL_BASE triggers the platform support needed by the driver.

Signed-off-by: Frederic Barrat 
---
  drivers/misc/Kconfig   |  1 +
  drivers/misc/Makefile  |  1 +
  drivers/misc/ocxl/Kconfig  | 25 +
  drivers/misc/ocxl/Makefile | 10 ++
  4 files changed, 37 insertions(+)
  create mode 100644 drivers/misc/ocxl/Kconfig
  create mode 100644 drivers/misc/ocxl/Makefile

diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index f1a5c2357b14..0534f338c84a 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -508,4 +508,5 @@ source "drivers/misc/mic/Kconfig"
  source "drivers/misc/genwqe/Kconfig"
  source "drivers/misc/echo/Kconfig"
  source "drivers/misc/cxl/Kconfig"
+source "drivers/misc/ocxl/Kconfig"
  endmenu
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index 5ca5f64df478..73326d54e246 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -55,6 +55,7 @@ obj-$(CONFIG_CXL_BASE)    += cxl/
  obj-$(CONFIG_ASPEED_LPC_CTRL)    += aspeed-lpc-ctrl.o
  obj-$(CONFIG_ASPEED_LPC_SNOOP)    += aspeed-lpc-snoop.o
  obj-$(CONFIG_PCI_ENDPOINT_TEST)    += pci_endpoint_test.o
+obj-$(CONFIG_OCXL)    += ocxl/

  lkdtm-$(CONFIG_LKDTM)    += lkdtm_core.o
  lkdtm-$(CONFIG_LKDTM)    += lkdtm_bugs.o
diff --git a/drivers/misc/ocxl/Kconfig b/drivers/misc/ocxl/Kconfig
new file mode 100644
index ..4496b61f48db
--- /dev/null
+++ b/drivers/misc/ocxl/Kconfig
@@ -0,0 +1,25 @@
+#
+# Open Coherent Accelerator (OCXL) compatible devices
+#
+
+config OCXL_BASE
+    bool
+    default n
+    select PPC_COPRO_BASE
+
+config OCXL
+    tristate "Support for Open Coherent Accelerators (OCXL)"
+    depends on PPC_POWERNV && PCI && EEH
+    select OCXL_BASE
+    default m
+    help
+
+  Select this option to enable driver support for Open
+  Coherent Accelerators (OCXL).  OCXL is otherwise known as
+  Open Coherent Accelerator Processor Interface (OCAPI).
+  OCAPI allows accelerators in FPGAs to be coherently attached
+  to a CPU through a Open CAPI link.  This driver enables
+  userspace programs to access these accelerators through
+  devices found in /dev/ocxl/


I'd prefer more consistency in how we refer to OpenCAPI. "ocxl" is a 
driver name that we have purely for historical reasons, it's not really 
the name of anything else. I know throughout the various specs and code, 
we use "OCAPI" a lot, but that's not really an abbreviation that should 
be "user-facing".


Something like:

config OCXL
  tristate "OpenCAPI coherent accelerator support"
  help

    Select this option to enable the ocxl driver for Open Coherent
    Accelerator Processor Interface (OpenCAPI) devices.

    OpenCAPI allows FPGA and ASIC accelerators to be coherently
    attached to a CPU over an OpenCAPI link.

    The ocxl driver enables userspace programs to access these
    accelerators through devices in /dev/ocxl/.

    For more information, see http://opencapi.org.

    If unsure, say N.



Agreed, and stolen.

  Fred



+
+  If unsure, say N.
diff --git a/drivers/misc/ocxl/Makefile b/drivers/misc/ocxl/Makefile
new file mode 100644
index ..f75853411cfd
--- /dev/null
+++ b/drivers/misc/ocxl/Makefile
@@ -0,0 +1,10 @@
+ccflags-$(CONFIG_PPC_WERROR)    += -Werror
+
+ocxl-y    += main.o pci.o config.o file.o pasid.o
+ocxl-y    += link.o context.o afu_irq.o sysfs.o trace.o
+obj-$(CONFIG_OCXL)    += ocxl.o
+
+# For tracepoints to include our trace.h from tracepoint infrastructure:
+CFLAGS_trace.o := -I$(src)
+
+# ccflags-y += -DDEBUG







Re: [PATCH 10/13] ocxl: Add Makefile and Kconfig

2018-01-02 Thread Andrew Donnellan

On 19/12/17 02:21, Frederic Barrat wrote:

OCXL_BASE triggers the platform support needed by the driver.

Signed-off-by: Frederic Barrat 
---
  drivers/misc/Kconfig   |  1 +
  drivers/misc/Makefile  |  1 +
  drivers/misc/ocxl/Kconfig  | 25 +
  drivers/misc/ocxl/Makefile | 10 ++
  4 files changed, 37 insertions(+)
  create mode 100644 drivers/misc/ocxl/Kconfig
  create mode 100644 drivers/misc/ocxl/Makefile

diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index f1a5c2357b14..0534f338c84a 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -508,4 +508,5 @@ source "drivers/misc/mic/Kconfig"
  source "drivers/misc/genwqe/Kconfig"
  source "drivers/misc/echo/Kconfig"
  source "drivers/misc/cxl/Kconfig"
+source "drivers/misc/ocxl/Kconfig"
  endmenu
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index 5ca5f64df478..73326d54e246 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -55,6 +55,7 @@ obj-$(CONFIG_CXL_BASE)+= cxl/
  obj-$(CONFIG_ASPEED_LPC_CTRL) += aspeed-lpc-ctrl.o
  obj-$(CONFIG_ASPEED_LPC_SNOOP)+= aspeed-lpc-snoop.o
  obj-$(CONFIG_PCI_ENDPOINT_TEST)   += pci_endpoint_test.o
+obj-$(CONFIG_OCXL) += ocxl/

  lkdtm-$(CONFIG_LKDTM) += lkdtm_core.o
  lkdtm-$(CONFIG_LKDTM) += lkdtm_bugs.o
diff --git a/drivers/misc/ocxl/Kconfig b/drivers/misc/ocxl/Kconfig
new file mode 100644
index ..4496b61f48db
--- /dev/null
+++ b/drivers/misc/ocxl/Kconfig
@@ -0,0 +1,25 @@
+#
+# Open Coherent Accelerator (OCXL) compatible devices
+#
+
+config OCXL_BASE
+   bool
+   default n
+   select PPC_COPRO_BASE
+
+config OCXL
+   tristate "Support for Open Coherent Accelerators (OCXL)"
+   depends on PPC_POWERNV && PCI && EEH
+   select OCXL_BASE
+   default m
+   help
+
+ Select this option to enable driver support for Open
+ Coherent Accelerators (OCXL).  OCXL is otherwise known as
+ Open Coherent Accelerator Processor Interface (OCAPI).
+ OCAPI allows accelerators in FPGAs to be coherently attached
+ to a CPU through a Open CAPI link.  This driver enables
+ userspace programs to access these accelerators through
+ devices found in /dev/ocxl/


I'd prefer more consistency in how we refer to OpenCAPI. "ocxl" is a 
driver name that we have purely for historical reasons, it's not really 
the name of anything else. I know throughout the various specs and code, 
we use "OCAPI" a lot, but that's not really an abbreviation that should 
be "user-facing".


Something like:

config OCXL
 tristate "OpenCAPI coherent accelerator support"
 help

   Select this option to enable the ocxl driver for Open Coherent 


   Accelerator Processor Interface (OpenCAPI) devices.

   OpenCAPI allows FPGA and ASIC accelerators to be coherently
   attached to a CPU over an OpenCAPI link.

   The ocxl driver enables userspace programs to access these
   accelerators through devices in /dev/ocxl/.

   For more information, see http://opencapi.org.

   If unsure, say N.


+
+ If unsure, say N.
diff --git a/drivers/misc/ocxl/Makefile b/drivers/misc/ocxl/Makefile
new file mode 100644
index ..f75853411cfd
--- /dev/null
+++ b/drivers/misc/ocxl/Makefile
@@ -0,0 +1,10 @@
+ccflags-$(CONFIG_PPC_WERROR)   += -Werror
+
+ocxl-y += main.o pci.o config.o file.o pasid.o
+ocxl-y += link.o context.o afu_irq.o sysfs.o trace.o
+obj-$(CONFIG_OCXL) += ocxl.o
+
+# For tracepoints to include our trace.h from tracepoint infrastructure:
+CFLAGS_trace.o := -I$(src)
+
+# ccflags-y += -DDEBUG



--
Andrew Donnellan  OzLabs, ADL Canberra
andrew.donnel...@au1.ibm.com  IBM Australia Limited



Re: [PATCH 10/13] ocxl: Add Makefile and Kconfig

2018-01-02 Thread Andrew Donnellan

On 19/12/17 02:21, Frederic Barrat wrote:

OCXL_BASE triggers the platform support needed by the driver.

Signed-off-by: Frederic Barrat 
---
  drivers/misc/Kconfig   |  1 +
  drivers/misc/Makefile  |  1 +
  drivers/misc/ocxl/Kconfig  | 25 +
  drivers/misc/ocxl/Makefile | 10 ++
  4 files changed, 37 insertions(+)
  create mode 100644 drivers/misc/ocxl/Kconfig
  create mode 100644 drivers/misc/ocxl/Makefile

diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index f1a5c2357b14..0534f338c84a 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -508,4 +508,5 @@ source "drivers/misc/mic/Kconfig"
  source "drivers/misc/genwqe/Kconfig"
  source "drivers/misc/echo/Kconfig"
  source "drivers/misc/cxl/Kconfig"
+source "drivers/misc/ocxl/Kconfig"
  endmenu
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index 5ca5f64df478..73326d54e246 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -55,6 +55,7 @@ obj-$(CONFIG_CXL_BASE)+= cxl/
  obj-$(CONFIG_ASPEED_LPC_CTRL) += aspeed-lpc-ctrl.o
  obj-$(CONFIG_ASPEED_LPC_SNOOP)+= aspeed-lpc-snoop.o
  obj-$(CONFIG_PCI_ENDPOINT_TEST)   += pci_endpoint_test.o
+obj-$(CONFIG_OCXL) += ocxl/

  lkdtm-$(CONFIG_LKDTM) += lkdtm_core.o
  lkdtm-$(CONFIG_LKDTM) += lkdtm_bugs.o
diff --git a/drivers/misc/ocxl/Kconfig b/drivers/misc/ocxl/Kconfig
new file mode 100644
index ..4496b61f48db
--- /dev/null
+++ b/drivers/misc/ocxl/Kconfig
@@ -0,0 +1,25 @@
+#
+# Open Coherent Accelerator (OCXL) compatible devices
+#
+
+config OCXL_BASE
+   bool
+   default n
+   select PPC_COPRO_BASE
+
+config OCXL
+   tristate "Support for Open Coherent Accelerators (OCXL)"
+   depends on PPC_POWERNV && PCI && EEH
+   select OCXL_BASE
+   default m
+   help
+
+ Select this option to enable driver support for Open
+ Coherent Accelerators (OCXL).  OCXL is otherwise known as
+ Open Coherent Accelerator Processor Interface (OCAPI).
+ OCAPI allows accelerators in FPGAs to be coherently attached
+ to a CPU through a Open CAPI link.  This driver enables
+ userspace programs to access these accelerators through
+ devices found in /dev/ocxl/


I'd prefer more consistency in how we refer to OpenCAPI. "ocxl" is a 
driver name that we have purely for historical reasons, it's not really 
the name of anything else. I know throughout the various specs and code, 
we use "OCAPI" a lot, but that's not really an abbreviation that should 
be "user-facing".


Something like:

config OCXL
 tristate "OpenCAPI coherent accelerator support"
 help

   Select this option to enable the ocxl driver for Open Coherent 


   Accelerator Processor Interface (OpenCAPI) devices.

   OpenCAPI allows FPGA and ASIC accelerators to be coherently
   attached to a CPU over an OpenCAPI link.

   The ocxl driver enables userspace programs to access these
   accelerators through devices in /dev/ocxl/.

   For more information, see http://opencapi.org.

   If unsure, say N.


+
+ If unsure, say N.
diff --git a/drivers/misc/ocxl/Makefile b/drivers/misc/ocxl/Makefile
new file mode 100644
index ..f75853411cfd
--- /dev/null
+++ b/drivers/misc/ocxl/Makefile
@@ -0,0 +1,10 @@
+ccflags-$(CONFIG_PPC_WERROR)   += -Werror
+
+ocxl-y += main.o pci.o config.o file.o pasid.o
+ocxl-y += link.o context.o afu_irq.o sysfs.o trace.o
+obj-$(CONFIG_OCXL) += ocxl.o
+
+# For tracepoints to include our trace.h from tracepoint infrastructure:
+CFLAGS_trace.o := -I$(src)
+
+# ccflags-y += -DDEBUG



--
Andrew Donnellan  OzLabs, ADL Canberra
andrew.donnel...@au1.ibm.com  IBM Australia Limited



[PATCH 10/13] ocxl: Add Makefile and Kconfig

2017-12-18 Thread Frederic Barrat
OCXL_BASE triggers the platform support needed by the driver.

Signed-off-by: Frederic Barrat 
---
 drivers/misc/Kconfig   |  1 +
 drivers/misc/Makefile  |  1 +
 drivers/misc/ocxl/Kconfig  | 25 +
 drivers/misc/ocxl/Makefile | 10 ++
 4 files changed, 37 insertions(+)
 create mode 100644 drivers/misc/ocxl/Kconfig
 create mode 100644 drivers/misc/ocxl/Makefile

diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index f1a5c2357b14..0534f338c84a 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -508,4 +508,5 @@ source "drivers/misc/mic/Kconfig"
 source "drivers/misc/genwqe/Kconfig"
 source "drivers/misc/echo/Kconfig"
 source "drivers/misc/cxl/Kconfig"
+source "drivers/misc/ocxl/Kconfig"
 endmenu
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index 5ca5f64df478..73326d54e246 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -55,6 +55,7 @@ obj-$(CONFIG_CXL_BASE)+= cxl/
 obj-$(CONFIG_ASPEED_LPC_CTRL)  += aspeed-lpc-ctrl.o
 obj-$(CONFIG_ASPEED_LPC_SNOOP) += aspeed-lpc-snoop.o
 obj-$(CONFIG_PCI_ENDPOINT_TEST)+= pci_endpoint_test.o
+obj-$(CONFIG_OCXL) += ocxl/
 
 lkdtm-$(CONFIG_LKDTM)  += lkdtm_core.o
 lkdtm-$(CONFIG_LKDTM)  += lkdtm_bugs.o
diff --git a/drivers/misc/ocxl/Kconfig b/drivers/misc/ocxl/Kconfig
new file mode 100644
index ..4496b61f48db
--- /dev/null
+++ b/drivers/misc/ocxl/Kconfig
@@ -0,0 +1,25 @@
+#
+# Open Coherent Accelerator (OCXL) compatible devices
+#
+
+config OCXL_BASE
+   bool
+   default n
+   select PPC_COPRO_BASE
+
+config OCXL
+   tristate "Support for Open Coherent Accelerators (OCXL)"
+   depends on PPC_POWERNV && PCI && EEH
+   select OCXL_BASE
+   default m
+   help
+
+ Select this option to enable driver support for Open
+ Coherent Accelerators (OCXL).  OCXL is otherwise known as
+ Open Coherent Accelerator Processor Interface (OCAPI).
+ OCAPI allows accelerators in FPGAs to be coherently attached
+ to a CPU through a Open CAPI link.  This driver enables
+ userspace programs to access these accelerators through
+ devices found in /dev/ocxl/
+
+ If unsure, say N.
diff --git a/drivers/misc/ocxl/Makefile b/drivers/misc/ocxl/Makefile
new file mode 100644
index ..f75853411cfd
--- /dev/null
+++ b/drivers/misc/ocxl/Makefile
@@ -0,0 +1,10 @@
+ccflags-$(CONFIG_PPC_WERROR)   += -Werror
+
+ocxl-y += main.o pci.o config.o file.o pasid.o
+ocxl-y += link.o context.o afu_irq.o sysfs.o trace.o
+obj-$(CONFIG_OCXL) += ocxl.o
+
+# For tracepoints to include our trace.h from tracepoint infrastructure:
+CFLAGS_trace.o := -I$(src)
+
+# ccflags-y += -DDEBUG
-- 
2.14.1



[PATCH 10/13] ocxl: Add Makefile and Kconfig

2017-12-18 Thread Frederic Barrat
OCXL_BASE triggers the platform support needed by the driver.

Signed-off-by: Frederic Barrat 
---
 drivers/misc/Kconfig   |  1 +
 drivers/misc/Makefile  |  1 +
 drivers/misc/ocxl/Kconfig  | 25 +
 drivers/misc/ocxl/Makefile | 10 ++
 4 files changed, 37 insertions(+)
 create mode 100644 drivers/misc/ocxl/Kconfig
 create mode 100644 drivers/misc/ocxl/Makefile

diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index f1a5c2357b14..0534f338c84a 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -508,4 +508,5 @@ source "drivers/misc/mic/Kconfig"
 source "drivers/misc/genwqe/Kconfig"
 source "drivers/misc/echo/Kconfig"
 source "drivers/misc/cxl/Kconfig"
+source "drivers/misc/ocxl/Kconfig"
 endmenu
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index 5ca5f64df478..73326d54e246 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -55,6 +55,7 @@ obj-$(CONFIG_CXL_BASE)+= cxl/
 obj-$(CONFIG_ASPEED_LPC_CTRL)  += aspeed-lpc-ctrl.o
 obj-$(CONFIG_ASPEED_LPC_SNOOP) += aspeed-lpc-snoop.o
 obj-$(CONFIG_PCI_ENDPOINT_TEST)+= pci_endpoint_test.o
+obj-$(CONFIG_OCXL) += ocxl/
 
 lkdtm-$(CONFIG_LKDTM)  += lkdtm_core.o
 lkdtm-$(CONFIG_LKDTM)  += lkdtm_bugs.o
diff --git a/drivers/misc/ocxl/Kconfig b/drivers/misc/ocxl/Kconfig
new file mode 100644
index ..4496b61f48db
--- /dev/null
+++ b/drivers/misc/ocxl/Kconfig
@@ -0,0 +1,25 @@
+#
+# Open Coherent Accelerator (OCXL) compatible devices
+#
+
+config OCXL_BASE
+   bool
+   default n
+   select PPC_COPRO_BASE
+
+config OCXL
+   tristate "Support for Open Coherent Accelerators (OCXL)"
+   depends on PPC_POWERNV && PCI && EEH
+   select OCXL_BASE
+   default m
+   help
+
+ Select this option to enable driver support for Open
+ Coherent Accelerators (OCXL).  OCXL is otherwise known as
+ Open Coherent Accelerator Processor Interface (OCAPI).
+ OCAPI allows accelerators in FPGAs to be coherently attached
+ to a CPU through a Open CAPI link.  This driver enables
+ userspace programs to access these accelerators through
+ devices found in /dev/ocxl/
+
+ If unsure, say N.
diff --git a/drivers/misc/ocxl/Makefile b/drivers/misc/ocxl/Makefile
new file mode 100644
index ..f75853411cfd
--- /dev/null
+++ b/drivers/misc/ocxl/Makefile
@@ -0,0 +1,10 @@
+ccflags-$(CONFIG_PPC_WERROR)   += -Werror
+
+ocxl-y += main.o pci.o config.o file.o pasid.o
+ocxl-y += link.o context.o afu_irq.o sysfs.o trace.o
+obj-$(CONFIG_OCXL) += ocxl.o
+
+# For tracepoints to include our trace.h from tracepoint infrastructure:
+CFLAGS_trace.o := -I$(src)
+
+# ccflags-y += -DDEBUG
-- 
2.14.1