1e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
2e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
3e9629bad30a9f478b336ab46b8e6e02f7f87af46Evan Chu *  Copyright (C) 2010-2014 Broadcom Corporation
4e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
5e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  Licensed under the Apache License, Version 2.0 (the "License");
6e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  you may not use this file except in compliance with the License.
7e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  You may obtain a copy of the License at:
8e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
9e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  http://www.apache.org/licenses/LICENSE-2.0
10e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
11e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  Unless required by applicable law or agreed to in writing, software
12e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  distributed under the License is distributed on an "AS IS" BASIS,
13e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  See the License for the specific language governing permissions and
15e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  limitations under the License.
16e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
17e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/
18e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
195c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen
20e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************
21e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
22e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *  This file contains the call-in functions for NFA HCI
23e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
24e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/
25e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include <string.h>
26e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "nfa_sys.h"
27e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "nfa_hci_api.h"
28e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "nfa_hci_int.h"
29e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "nfa_nv_co.h"
30e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
31e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
32e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
33e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
34e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         nfa_nv_ci_read
35e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
36e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      call-in function for non volatile memory read acess
37e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
38e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          none
39e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
40e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
41e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectvoid nfa_nv_ci_read (UINT16 num_bytes_read, tNFA_NV_CO_STATUS status, UINT8 block)
42e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
43e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tNFA_HCI_EVENT_DATA *p_msg;
44e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
45e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    if ((p_msg = (tNFA_HCI_EVENT_DATA *) GKI_getbuf (sizeof (tNFA_HCI_EVENT_DATA))) != NULL)
46e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    {
47e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project        p_msg->nv_read.hdr.event = NFA_HCI_RSP_NV_READ_EVT;
48e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
49e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project        if (  (status == NFA_STATUS_OK)
50e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project            &&(num_bytes_read != 0) )
51e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project            p_msg->nv_read.status = NFA_STATUS_OK;
52e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project        else
53e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project            p_msg->nv_read.status = NFA_STATUS_FAILED;
54e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
555c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen        p_msg->nv_read.size  = num_bytes_read;
56e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project        p_msg->nv_read.block = block;
57e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project        nfa_sys_sendmsg (p_msg);
58e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    }
59e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project}
60e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
61e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/*******************************************************************************
62e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
63e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function         nfa_nv_ci_write
64e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
65e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description      call-in function for non volatile memory write acess
66e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
67e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns          none
68e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**
69e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/
70e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectvoid nfa_nv_ci_write (tNFA_NV_CO_STATUS status)
71e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
72e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    tNFA_HCI_EVENT_DATA *p_msg;
73e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
74e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    if ((p_msg = (tNFA_HCI_EVENT_DATA *) GKI_getbuf (sizeof (tNFA_HCI_EVENT_DATA))) != NULL)
75e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    {
76e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project        p_msg->nv_write.hdr.event = NFA_HCI_RSP_NV_WRITE_EVT;
77e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project        p_msg->nv_write.status = 0;
78e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project        nfa_sys_sendmsg (p_msg);
79e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project    }
80e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project}
81e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
82