1// Copyright 2017 The Fuchsia Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include <zircon/device/intel-hda.h> 6#include <lib/fdio/io.h> 7 8#include "intel_hda_device.h" 9 10namespace audio { 11namespace intel_hda { 12 13zx_status_t IntelHDADevice::Probe() { 14 zx_status_t res = ZirconDevice::Connect(); 15 if (res != ZX_OK) 16 return res; 17 18 ihda_get_ids_req_t req; 19 ihda_get_ids_resp_t resp; 20 21 InitRequest(&req, IHDA_CMD_GET_IDS); 22 res = CallDevice(req, &resp); 23 if (res != ZX_OK) 24 return res; 25 26 vid_ = resp.vid; 27 did_ = resp.did; 28 ihda_vmaj_ = resp.ihda_vmaj; 29 ihda_vmin_ = resp.ihda_vmin; 30 rev_id_ = resp.rev_id; 31 step_id_ = resp.step_id; 32 33 return ZX_OK; 34} 35 36} // namespace audio 37} // namespace intel_hda 38