mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 17:36:20 +03:00
The compiler option -Wmissing-prototypes is being enabled globally in the upstream Linux kernel and this causes build failures for nvgpu. The build failures occur because either the driver is missing an include file which has the prototype or because the function is not declared statically when it should be (ie. there are no external users). Fix the various build failures and enable -Wmissing-prototypes to prevent any new instances from occurring. Bug 4404965 Change-Id: I551922836e37b0c94c158232d6277f4053e9d2d3 Signed-off-by: Jon Hunter <jonathanh@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/3027483 (cherry picked from commit e8cbf90db2d0db7277db9e3eec9fb88d69c7fcc7) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/3035518 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
68 lines
1.5 KiB
C
68 lines
1.5 KiB
C
// SPDX-License-Identifier: GPL-2.0-only
|
|
// SPDX-FileCopyrightText: Copyright (c) 2018-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
|
|
#include <nvgpu/types.h>
|
|
#include <nvgpu/vgpu/vgpu_ivc.h>
|
|
#include <linux/tegra_gr_comm.h>
|
|
|
|
#include "os/linux/os_linux.h"
|
|
#include "os/linux/module.h"
|
|
|
|
int vgpu_ivc_init(struct gk20a *g, u32 elems,
|
|
const size_t *queue_sizes, u32 queue_start, u32 num_queues)
|
|
{
|
|
struct device *dev = dev_from_gk20a(g);
|
|
|
|
return tegra_gr_comm_init(dev, nvgpu_get_node(g), elems,
|
|
queue_sizes, queue_start,
|
|
num_queues);
|
|
}
|
|
|
|
void vgpu_ivc_deinit(u32 queue_start, u32 num_queues)
|
|
{
|
|
tegra_gr_comm_deinit(queue_start, num_queues);
|
|
}
|
|
|
|
void vgpu_ivc_release(void *handle)
|
|
{
|
|
tegra_gr_comm_release(handle);
|
|
}
|
|
|
|
u32 vgpu_ivc_get_server_vmid(void)
|
|
{
|
|
return tegra_gr_comm_get_server_vmid();
|
|
}
|
|
|
|
int vgpu_ivc_recv(u32 index, void **handle, void **data,
|
|
size_t *size, u32 *sender)
|
|
{
|
|
return tegra_gr_comm_recv(index, handle, data, size, sender);
|
|
}
|
|
|
|
int vgpu_ivc_send(u32 peer, u32 index, void *data, size_t size)
|
|
{
|
|
return tegra_gr_comm_send(peer, index, data, size);
|
|
}
|
|
|
|
int vgpu_ivc_sendrecv(u32 peer, u32 index, void **handle,
|
|
void **data, size_t *size)
|
|
{
|
|
return tegra_gr_comm_sendrecv(peer, index, handle, data, size);
|
|
}
|
|
|
|
u32 vgpu_ivc_get_peer_self(void)
|
|
{
|
|
return TEGRA_GR_COMM_ID_SELF;
|
|
}
|
|
|
|
void *vgpu_ivc_oob_get_ptr(u32 peer, u32 index, void **ptr,
|
|
size_t *size)
|
|
{
|
|
return tegra_gr_comm_oob_get_ptr(peer, index, ptr, size);
|
|
}
|
|
|
|
void vgpu_ivc_oob_put_ptr(void *handle)
|
|
{
|
|
tegra_gr_comm_oob_put_ptr(handle);
|
|
}
|