summaryrefslogtreecommitdiffstats
path: root/occ_pass_through.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Delay opening OCC device until bindVishwanatha Subbanna2017-08-111-9/+45
| | | | | | | Fixes openbmc/openbmc#2118 Change-Id: If9e2610fe7443daa2196b0e5989f81bc544266b2 Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
* Add support to watch for OCC errorsVishwanatha Subbanna2017-07-291-9/+9
| | | | | Change-Id: I98d95020a2d01e281e5c8efa825d6b4bd4c6c160 Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
* Change occ control service nameVishwanatha Subbanna2017-07-041-3/+0
| | | | | | | | | | | | Currently, only thing that OCC controller does is create PassThrough objects. However, there is a need now to create OCC Status objects and hence some restructuring is needed to consume that. Since OCC control now is doing more than one thing, service name is changed to map to that. Change-Id: I466979a873d6f14385eb59d0e9d9f3a8b3f95a9b Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
* Create OCC pass-through objectsDeepak Kodihalli2017-06-131-25/+0
| | | | | | | | | | Create OCC pass-through d-bus objects when corresponding CPU objects are created in the inventory. Resolves openbmc/openbmc#1450. Change-Id: I8da879f51ebef8dcc3d25358def81c5e0dce0617 Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
* Fix data format used in OCC communicationVishwanatha Subbanna2017-05-191-4/+12
| | | | | | | | | | | | | | Amester and OCC understand only the sequence that is in bytes. Current OCC pass-through was sending chunk of 4 bytes and that was breaking the protocol. Since the REST server only handles 4 bytes, OCC pass-through needs to convert array of 4 bytes into array of 2 bytes prior to sending to OCC driver. Similarly, pass-through reader now needs to read one byte at a time than 4 bytes. Change-Id: Ifc24636f6b1dfb0cc0052362d2982ecfa652fec5 Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
* Commit errorlog and exit the application on error scenariosVishwanatha Subbanna2017-04-261-13/+27
| | | | | | | | | | | This application interacts with OCC driver and hence its good to terminate when there is an error during IO since it would mostly mean a faulty hardware. Fixes openbmc/openbmc#1428 Change-Id: I48bc7b2cf19922a7a53dbab78cdd4f2338a7431b Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
* Write payload to OCC and read it backVishwanatha Subbanna2017-04-261-1/+46
| | | | | | | | This will utilize the OCC driver to send Amester payload to OCC and does a read to get the contents of OCC-SRAM and passes it back. Change-Id: I68627b21665256df6fabad7768bb139dd6d1b99b Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
* Open device and populate file descriptorVishwanatha Subbanna2017-04-261-18/+16
| | | | | Change-Id: I8159f71ff3dd087f10cdf3b013e1acb60d4758fb Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
* Populate device entry based on positionVishwanatha Subbanna2017-04-171-2/+1
| | | | | | | | | | | | | | | | | | | | Communicating to OCC from BMC in PassThrough mode involves 2 drivers, namely; 1) SBE FIFO driver --> Used to communicate with SBE 2) OCC driver --> Which uses FIFO driver to write data to OCC at a predefined address and reads it back from a predefined OCC address. Device entry that is of interest here belongs to #2 above. This will map occ0 to fifo1, occ2 to fifo2 and so on. Until the udev rules are in place to make sure that a particular entry always maps to correct device not caring the probing order, this change here is a best guess that cpu0 and cpu1 would mostly in all cases be probed in that order. Change-Id: I485e0ea4eab1b4c6f59ee4b68c0725f9633cd933 Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
* Remove dead code during sdbus object creationVishwanatha Subbanna2017-04-131-1/+1
| | | | | | | | | | | As part of object creation, Interface added signal gets broadcasted by default unless told not to do so. Current code uses the default behavior and also makes an explicit call to broadcast a signal. Although it does not send a signal again, its un-necessary code that gets executed and should be removed. Change-Id: I438d6f54eeea9ea930525e956c26a69510ccf83d Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
* Implement org.open_power.OCC.PassThrough.SendDeepak Kodihalli2017-03-301-1/+21
| | | | | | | | | | The Send method accepts a command as an array of hex strings, and returns the response as an another array of hex strings. For now, Send just logs the command array to the journal. Change-Id: Iff288d36075833b8c615cdb18b78395839e1e2da Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
* Implement org.open_power.OCC.PassThroughDeepak Kodihalli2017-03-301-0/+53
This d-bus interface is implemented by the open_power::occ::pass_through::PassThrough class. Change-Id: I6bce9e609b7b977418bcfee15e97432cb7d9e6b3 Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
OpenPOWER on IntegriCloud