Commit graph

15 commits

Author SHA1 Message Date
Colin Cross
cc8d9f9fcb Avoid C-style cast warnings
hardware/libhardware/include was being included with -isystem, which
hides warnings.  Use a macro to convert modules to hw_device_t** to call
the open function that works in C++ and C.

Bug: 32018017
Test: m -j
Change-Id: If68bf15581975f1217fcab366cef7bc784894641
2016-10-07 13:10:20 -07:00
Jinsuk Kim
8b7eca8674 CEC: Add a new flag for set_option
Added a flag to pass system language information to HAL so that it can
respond to <Get Menu Language> in standby mode.

Bug: 19054079

Change-Id: Iada00307202f5c9429944184b62b6456b624125a
2015-01-19 10:46:39 +09:00
Jinsuk Kim
4b280b0cd0 CEC: Add a parameter port ID to set_audio_return_channel
This CL addresses the cases where TV has more than one ARC-supported
HDMI ports.

Bug: 18781204

Change-Id: I4eaeb755caf2552b826a7322d19ee671407ee43f
2014-12-17 17:35:14 +09:00
Jinsuk Kim
634e9484eb Revert "Update comment for send message."
This reverts commit 0e956a7cd2dee76b762320c141960ffdb64d24eb.

The decision was to revert to the old behavior where retransmission
will be handled by HAL for efficiency.

Change-Id: If165b60c0408ea1015b83806f6bf21e18b15bc7f
2014-07-28 08:04:04 +00:00
Jungshik Jang
2b863dc444 Update comment for send message.
HAL should not handle retransmission because it's handled by
hdmi control service.

Change-Id: I0daf1baf6f87805e2049ff84c6f8c2cace76dba2
2014-07-21 18:06:01 +09:00
Jinsuk Kim
ca6fa79703 Use the term port_id for HDMI port index across definitions
Renamed various terms like, port, port_num to port_id, and
added a description that the id starts from 1.

Change-Id: I9229edff7fd75dd15e672e309369e237ca339238
2014-07-09 17:17:24 +09:00
Jinsuk Kim
ada8314004 Remove tx_status event in CEC HAL
Removes tx_status event type which turns out not in actual use.
This changes makes send_message() work in sychrnonous fashion
when called by HdmiControlService. HdmiControlService has io thread
dedicated to interact with HAL, hence no need to introduce
another async flow for HAL.

Change-Id: I8ae21b1149cd36bfd0f9da215c4f23b30f0c8d30
2014-07-03 09:37:10 +09:00
Jinsuk Kim
c4178a66a4 Update HDMI-CEC HAL interface for TV
Added a few more API:
 - is_connected
 - get_port_info
 - set_option
 - set_audio_return_channel

Also added another event type (tx_status) that reports the status
of transmission. The status is reported in asynchronous fashion
since the send operation can take longer due to bus conflict.

Change-Id: I75decb8451a23f8a8eda0895d58f22c45227c0b3
2014-05-20 07:56:36 +09:00
Jungshik Jang
5bf671610a Add ARC commands
ARC, Audio Return Channel is newly introduced in HDMI CEC 1.4.
Here is a list of new command
<Initiate ARC>
<Report ARC Initiated>
<Report ARC Terminated>
<Request ARC Initiation>
<Request ARC Termination>
<Terminate ARC>

Along with it replaced <Get OSD Name> with <Give OSD Name>
which is renamed in CEC 1.4.

Change-Id: I6a03b30cf90a8f6dca54831355be05682a6df96c
2014-05-16 16:31:27 +09:00
Stewart Miles
84d35492b1 Described restrictions for common HAL object methods.
Inheritance of HAL object is performed by composing a child structure of a
single parent structure located at offset 0 followed by new data members
and function pointers in the child structure.

For example,

struct child {
  struct parent common;
  int a_data_member;
  void (*a_method)(struct child *c, int v);
};

HAL code assumes this layout when accessing child structures given a pointer
to a parent structure such that users write code like the following...

void child_method(struct *parent, int v) {
  struct child * c = (struct child*)parent;
  // do stuff with c
}

Code above will break if a member is added before "common" in "struct child".

This change adds comments that describe the restriction on the location of
parent HAL objects within a derived HAL object.  HAL objects that already
have comments that describe the required location of parent objects are not
modified.

Change-Id: Ibe4300275286ef275b2097534c84f1029d761d87
2014-05-12 12:35:37 -07:00
Jinsuk Kim
f02ed91f7a Update HDMI-CEC HAL interface definition
Previously it was HAL that was responsible for the logical address
allocation. The address allocation logic itself is based on the algorithm
specified in the CEC standard, is dependent neither on vendor nor
on hardware. This CL replaces the method 'allocate_logical_address',
'get_logical_address' with 'add_logical_address', so that the common
allocation logic will be implemented in the cec service and can be used by
all vendors without having them put the same logic in all HAL
implementations. HAL is supposed to be passed the allocated address
and use it to configure the chipset in this new definition.

The change in the service that implements the address allocation logic
will be done in a follow up CL.

Also removed the description in 'get_version' about version number.
It needs not be in the description since it is an implementation detail.

Change-Id: I33f31580792785bec38b7bd6997f91b89bfbb500
2014-04-13 06:49:32 +09:00
Jinsuk Kim
efbdb25d1b Added message_abort and operand enums
Also clarfieid the method description (allocate_logical_address),
update method signatures to use more appropriate type.

Change-Id: Ie5d13969308e77ca19b3dbde682ca968337ab41b
2014-03-24 13:43:47 +09:00
Jinsuk Kim
98add8956b Add 'get_logical_address' in HDMI-CEC HAL interface
The new function allows the HDMI-CEC service to get the logical address
updated by HAL implementation.

Change-Id: I1a4c5f7b7773279091d5bd7c6971a8c9090a81ca
2014-03-11 02:50:03 +00:00
Jinsuk Kim
70ae777c9a [HDMI-CEC] Modify the signature of register_event_callback
Additional parameter helps the caller avoid managing a static instance
variable. The parameter is used to pass the caller object itself.

Change-Id: I06cbcc7736031678f4638a0b5082d7b6a7ea51b6
2014-03-08 06:15:49 +09:00
Jinsuk Kim
62195dc9ac Header file for HDMI-CEC HAL interface definition
Added here is the header file that defines HDMI-CEC HAL interface.
Its main purpose is to support major CEC features such as 'one touch
play', 'standby' for playback device. But basic skeleton for supporting
other kinds of devices(like TV) is also in place.

Change-Id: Iccbbec398bc675d69cb78ad6848ec57ac727cb8d
2014-02-20 18:44:27 +09:00